Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Yoann Laissus
wine
Commits
573eb962
Commit
573eb962
authored
26 years ago
by
François Gouget
Committed by
Alexandre Julliard
26 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Fixed some ICOM_INHERIT stuff and added new related API functions.
parent
b385815d
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
include/wine/obj_clientserver.h
+71
-5
71 additions, 5 deletions
include/wine/obj_clientserver.h
include/wine/obj_misc.h
+125
-18
125 additions, 18 deletions
include/wine/obj_misc.h
with
196 additions
and
23 deletions
include/wine/obj_clientserver.h
+
71
−
5
View file @
573eb962
...
...
@@ -49,7 +49,8 @@ typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES
ICOM_METHOD8(HRESULT,SetBlanket, IUnknown*,pProxy, DWORD,pAuthnSvc, DWORD,pAuthzSvc, OLECHAR32*,pServerPrincName, DWORD,pAuthnLevel, DWORD,pImpLevel, void*,pAuthInfo, DWORD,pCapabilites); \
ICOM_METHOD2(HRESULT,CopyProxy, IUnknown*,pProxy, IUnknown**,ppCopy);
#define IClientSecurity_IMETHODS \
ICOM_INHERITS(IClientSecurity,IUnknown)
IUnknown_IMETHODS \
IClientSecurity_METHODS
ICOM_DEFINE
(
IClientSecurity
,
IUnknown
)
#undef ICOM_INTERFACE
...
...
@@ -65,7 +66,6 @@ ICOM_DEFINE(IClientSecurity,IUnknown)
#endif
/*****************************************************************************
* IExternalConnection interface
*/
...
...
@@ -81,7 +81,8 @@ typedef enum tagEXTCONN
ICOM_METHOD2(DWORD,AddConnection, DWORD,extconn, DWORD,reserved); \
ICOM_METHOD3(DWORD,ReleaseConnection, DWORD,extconn, DWORD,reserved, BOOL32,fLastReleaseCloses);
#define IExternalConnection_IMETHODS \
ICOM_INHERITS(IExternalConnection,IUnknown)
IUnknown_IMETHODS \
IExternalConnection_METHODS
ICOM_DEFINE
(
IExternalConnection
,
IUnknown
)
#undef ICOM_INTERFACE
...
...
@@ -144,7 +145,8 @@ typedef struct tagINTERFACEINFO
ICOM_METHOD3(DWORD,RetryRejectedCall, HTASK32,htaskCallee, DWORD,dwTickCount, DWORD,dwRejectType); \
ICOM_METHOD3(DWORD,MessagePending, HTASK32,htaskCallee, DWORD,dwTickCount, DWORD,dwRejectType);
#define IMessageFilter_IMETHODS \
ICOM_INHERITS(IMessageFilter,IUnknown)
IUnknown_IMETHODS \
IMessageFilter_METHODS
ICOM_DEFINE
(
IMessageFilter
,
IUnknown
)
#undef ICOM_INTERFACE
...
...
@@ -175,7 +177,8 @@ HRESULT WINAPI CoRegisterMessageFilter32(LPMESSAGEFILTER lpMessageFilter,LPMESSA
ICOM_METHOD (HRESULT,RevertToSelf); \
ICOM_METHOD (BOOL32, IsImpersonating);
#define IServerSecurity_IMETHODS \
ICOM_INHERITS(IServerSecurity,IUnknown)
IUnknown_IMETHODS \
IServerSecurity_METHODS
ICOM_DEFINE
(
IServerSecurity
,
IUnknown
)
#undef ICOM_INTERFACE
...
...
@@ -192,4 +195,67 @@ ICOM_DEFINE(IServerSecurity,IUnknown)
#endif
/*****************************************************************************
* Additional client API
*/
/* FIXME: not implemented */
HRESULT
WINAPI
CoCopyProxy
(
IUnknown
*
pProxy
,
IUnknown
**
ppCopy
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoQueryProxyBlanket
(
IUnknown
*
pProxy
,
DWORD
*
pwAuthnSvc
,
DWORD
*
pAuthzSvc
,
OLECHAR32
**
pServerPrincName
,
DWORD
*
pAuthnLevel
,
DWORD
*
pImpLevel
,
RPC_AUTH_IDENTITY_HANDLE
*
pAuthInfo
,
DWORD
*
pCapabilites
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoSetProxyBlanket
(
IUnknown
*
pProxy
,
DWORD
dwAuthnSvc
,
DWORD
dwAuthzSvc
,
OLECHAR32
*
pServerPrincName
,
DWORD
dwAuthnLevel
,
DWORD
dwImpLevel
,
RPC_AUTH_IDENTITY_HANDLE
pAuthInfo
,
DWORD
dwCapabilities
);
/*****************************************************************************
* Additional server API
*/
/* FIXME: not implemented */
ULONG
WINAPI
CoAddRefServerProcess
(
void
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoImpersonateClient
(
void
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoQueryClientBlanket
(
DWORD
*
pAuthnSvc
,
DWORD
*
pAuthzSvc
,
OLECHAR16
**
pServerPrincName
,
DWORD
*
pAuthnLevel
,
DWORD
*
pImpLevel
,
RPC_AUTHZ_HANDLE
*
pPrivs
,
DWORD
*
pCapabilities
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoReleaseServerProcess
(
void
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoRevertToSelf
(
void
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoSuspendClassObjects
(
void
);
/*****************************************************************************
* Additional API
*/
/* FIXME: not implemented */
HRESULT
WINAPI
CoGetCallContext
(
REFIID
riid
,
void
**
ppInterface
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoGetPSClsid
(
REFIID
riid
,
CLSID
*
pClsid
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoInitializeSecurity
(
PSECURITY_DESCRIPTOR
pSecDesc
,
LONG
cAuthSvc
,
SOLE_AUTHENTICATION_SERVICE
*
asAuthSvc
,
void
*
pReserved1
,
DWORD
dwAuthnLevel
,
DWORD
dwImpLevel
,
void
*
pReserved2
,
DWORD
dwCapabilities
,
void
*
pReserved3
);
/* FIXME: not implemented */
BOOL32
WINAPI
CoIsHandlerConnected
(
LPUNKNOWN
pUnk
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoQueryAuthenticationServices
(
DWORD
*
pcAuthSvc
,
SOLE_AUTHENTICATION_SERVICE
**
asAuthSvc
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoRegisterPSClsid
(
REFIID
riid
,
REFCLSID
rclsid
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoResumeClassObjects
(
void
);
#endif
/* __WINE_WINE_OBJ_CLIENTSERVER_H */
This diff is collapsed.
Click to expand it.
include/wine/obj_misc.h
+
125
−
18
View file @
573eb962
...
...
@@ -31,47 +31,154 @@ typedef struct IMultiQI IMultiQI,*LPMULTIQI;
* IEnumString interface
*/
#define ICOM_INTERFACE IEnumString
ICOM_BEGIN
(
IEnumString
,
IUnknown
)
ICOM_METHOD3
(
HRESULT
,
Next
,
ULONG
,
celt
,
LPOLESTR32
,
rgelt
,
ULONG
*
,
pceltFet
c
hed
);
ICOM_METHOD1
(
HRESULT
,
Skip
,
ULONG
,
celt
);
ICOM_METHOD
(
HRESULT
,
Reset
);
#define
IEnumString
_METHODS \
ICOM_METHOD3(HRESULT,Next,
ULONG,celt, LPOLESTR32
*
,rgelt, ULONG*,pceltFethed);
\
ICOM_METHOD1(HRESULT,Skip,
ULONG,celt);
\
ICOM_METHOD (HRESULT,Reset);
\
ICOM_METHOD1 (HRESULT, Clone, IEnumString**, ppenum);
ICOM_END
(
IEnumString
)
#define IEnumString_IMETHODS \
IUnknown_IMETHODS \
IEnumString_METHODS
ICOM_DEFINE
(
IEnumString
,
IUnknown
)
#undef ICOM_INTERFACE
#if
!
def
ined(__cplusplus) || defined(
CINTERFACE
)
#ifdef
ICOM_
CINTERFACE
/*** IUnknown methods ***/
#define IEnumString_QueryInterface(p,a,b) ICOM_
I
CALL2(
IUnknown,
QueryInterface,p,a,b)
#define IEnumString_AddRef(p) ICOM_
I
CALL (
IUnknown,
AddRef,p)
#define IEnumString_Release(p) ICOM_
I
CALL (
IUnknown,
Release,p)
/*
IBindCtx
methods*/
#define IEnumString_Next(p,a,b,c)
ICOM_CALL3(Next,p,a,b,c)
;
#define IEnumString_Skip(p,a)
ICOM_CALL1(Skip,p,a)
;
#define IEnumString_Reset(p
,a)
ICOM_CALL(Reset,p)
;
#define IEnumString_Clone(p,a)
ICOM_CALL1(Clone,p,a)
;
#define IEnumString_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumString_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumString_Release(p) ICOM_CALL (Release,p)
/*
** IEnumString
methods
**
*/
#define IEnumString_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumString_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumString_Reset(p
)
ICOM_CALL
(Reset,p)
#define IEnumString_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
#define CreateEnumString WINELIB_NAME(CreateEnumString)
/*****************************************************************************
* IEnumUnknown interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IEnumUnknown
#define IEnumUnknown_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, IUnknown**,rgelt, ULONG*,pceltFethed); \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt); \
ICOM_METHOD (HRESULT,Reset); \
ICOM_METHOD1(HRESULT,Clone, IEnumUnknown**,ppenum);
#define IEnumUnknown_IMETHODS \
IUnknown_IMETHODS \
IEnumUnknown_METHODS
ICOM_DEFINE
(
IEnumUnknown
,
IUnknown
)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumUnknown_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumUnknown_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumUnknown_Release(p) ICOM_CALL (Release,p)
/*** IEnumUnknown methods ***/
#define IEnumUnknown_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumUnknown_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumUnknown_Reset(p) ICOM_CALL (Reset,p)
#define IEnumUnknown_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/*****************************************************************************
* IMallocSpy interface
*/
#define ICOM_INTERFACE IMallocSpy
#define IMallocSpy_METHODS \
ICOM_METHOD1 (ULONG,PreAlloc, ULONG,cbRequest); \
ICOM_VMETHOD1( PostAlloc, void*,pActual); \
ICOM_METHOD2 (void*,PreFree, void*,pRequest, BOOL32,fSpyed); \
ICOM_VMETHOD1( PostFree, BOOL32,fSpyed); \
ICOM_METHOD4 (ULONG,PreRealloc, void*,pRequest, ULONG,cbRequest, void**,ppNewRequest, BOOL32,fSpyed); \
ICOM_METHOD2 (void*,PostRealloc, void*,pActual, BOOL32,fSpyed); \
ICOM_METHOD2 (void*,PreGetSize, void*,pRequest, BOOL32,fSpyed); \
ICOM_METHOD2 (ULONG,PostGetSize, ULONG,cbActual, BOOL32,fSpyed); \
ICOM_METHOD2 (void*,PreDidAlloc, void*,pRequest, BOOL32,fSpyed); \
ICOM_METHOD3 (int, PostDidAlloc, void*,pRequest, BOOL32,fSpyed, int,fActual); \
ICOM_METHOD (int, PreHeapMinimize); \
ICOM_METHOD (int, PostHeapMinimize);
#define IMallocSpy_IMETHODS \
IUnknown_IMETHODS \
IMallocSpy_METHODS
ICOM_DEFINE
(
IMallocSpy
,
IUnknown
)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IMallocSpy_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IMallocSpy_AddRef(p) ICOM_CALL (AddRef,p)
#define IMallocSpy_Release(p) ICOM_CALL (Release,p)
/*** IMallocSpy methods ***/
#define IMallocSpy_PreAlloc(p,a) ICOM_CALL1(PreAlloc,p,a)
#define IMallocSpy_PostAlloc(p,a) ICOM_CALL1(PostAlloc,p,a)
#define IMallocSpy_PreFree(p,a,b) ICOM_CALL2(PreFree,p,a,b)
#define IMallocSpy_PostFree(p,a) ICOM_CALL1(PostFree,p,a)
#define IMallocSpy_PreRealloc(p,a,b,c,d) ICOM_CALL4(PreRealloc,p,a,b,c,d)
#define IMallocSpy_PostRealloc(p,a,b) ICOM_CALL2(PostRealloc,p,a,b)
#define IMallocSpy_PreGetSize(p,a,b) ICOM_CALL2(PreGetSize,p,a,b)
#define IMallocSpy_PostGetSize(p,a,b) ICOM_CALL2(PostGetSize,p,a,b)
#define IMallocSpy_PreDidAlloc(p,a,b) ICOM_CALL2(PreDidAlloc,p,a,b)
#define IMallocSpy_PostDidAlloc(p,a,b,c) ICOM_CALL3(PostDidAlloc,p,a,b,c)
#define IMallocSpy_PreHeapMinimize(p) ICOM_CALL (PreHeapMinimize,p)
#define IMallocSpy_PostHeapMinimize(p) ICOM_CALL (PostHeapMinimize,p)
#endif
/* FIXME: not implemented */
HRESULT
WINAPI
CoRegisterMallocSpy
(
LPMALLOCSPY
pMallocSpy
);
/* FIXME: not implemented */
HRESULT
WINAPI
CoRevokeMallocSpy
(
void
);
HRESULT
WINAPI
CoFileTimeNow
(
FILETIME
*
lpFileTime
);
/*****************************************************************************
* IMultiQI interface
*/
/* FIXME: not implemented */
typedef
struct
tagMULTI_QI
{
const
IID
*
pIID
;
IUnknown
*
pItf
;
HRESULT
hr
;
}
MULTI_QI
;
#define ICOM_INTERFACE IMultiQI
#define IMultiQI_METHODS \
ICOM_METHOD2(HRESULT,QueryMultipleInterfaces, ULONG,cMQIs, MULTI_QI*,pMQIs);
#define IMultiQI_IMETHODS \
IUnknown_IMETHODS \
IMultiQI_METHODS
ICOM_DEFINE
(
IMultiQI
,
IUnknown
)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IMultiQI_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IMultiQI_AddRef(p) ICOM_CALL (AddRef,p)
#define IMultiQI_Release(p) ICOM_CALL (Release,p)
/*** IMultiQI methods ***/
#define IMultiQI_QueryMultipleInterfaces(p,a,b) ICOM_CALL2(QueryMultipleInterfaces,p,a,b)
#endif
/*****************************************************************************
* Additional API
*/
DWORD
WINAPI
CoBuildVersion
(
void
);
DWORD
WINAPI
CoGetCurrentProcess
(
void
);
/* FIXME: unimplemented */
HRESULT
WINAPI
CoGetTreatAsClass
(
REFCLSID
clsidOld
,
LPCLSID
pClsidNew
);
/* FIXME: unimplemented */
HRESULT
WINAPI
CoTreatAsClass
(
REFCLSID
clsidOld
,
REFCLSID
clsidNew
);
#endif
/* __WINE_WINE_OBJ_MISC_H */
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment