Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
0dac972d
Commit
0dac972d
authored
Oct 14, 2001
by
Ove Kaaven
Committed by
Alexandre Julliard
Oct 14, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added some RPC definitions.
parent
b60c4ce0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
450 additions
and
9 deletions
+450
-9
Makefile.in
include/Makefile.in
+1
-0
rpcdce.h
include/rpcdce.h
+62
-9
rpcndr.h
include/rpcndr.h
+228
-0
rpcproxy.h
include/rpcproxy.h
+159
-0
No files found.
include/Makefile.in
View file @
0dac972d
...
...
@@ -101,6 +101,7 @@ INSTALLED_INCLUDES = \
rpcdcep.h
\
rpcndr.h
\
rpcnterr.h
\
rpcproxy.h
\
servprov.h
\
setupapi.h
\
shellapi.h
\
...
...
include/rpcdce.h
View file @
0dac972d
...
...
@@ -15,6 +15,27 @@ typedef RPC_BINDING_HANDLE handle_t;
#define rpc_binding_handle_t RPC_BINDING_HANDLE
#define RPC_MGR_EPV void
typedef
struct
_RPC_BINDING_VECTOR
{
unsigned
long
Count
;
RPC_BINDING_HANDLE
BindingH
[
1
];
}
RPC_BINDING_VECTOR
;
#define rpc_binding_vector_t RPC_BINDING_VECTOR
typedef
struct
_UUID_VECTOR
{
unsigned
long
Count
;
UUID
*
Uuid
[
1
];
}
UUID_VECTOR
;
#define uuid_vector_t UUID_VECTOR
typedef
struct
_RPC_IF_ID
{
UUID
Uuid
;
unsigned
short
VersMajor
;
unsigned
short
VersMinor
;
}
RPC_IF_ID
;
#define RPC_C_BINDING_INFINITE_TIMEOUT 10
#define RPC_C_BINDING_MIN_TIMEOUT 0
#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
...
...
@@ -42,7 +63,7 @@ typedef RPC_BINDING_HANDLE handle_t;
typedef
RPC_STATUS
RPC_ENTRY
RPC_IF_CALLBACK_FN
(
RPC_IF_HANDLE
InterfaceUuid
,
LPVOID
Context
);
typedef
void
(
__RPC_USER
*
RPC_AUTH_KEY_RETRIEVAL_FN
)(
LPVOID
Arg
,
LPWSTR
ServerPrincName
,
typedef
void
__RPC_USER
(
*
RPC_AUTH_KEY_RETRIEVAL_FN
)(
LPVOID
Arg
,
LPWSTR
ServerPrincName
,
ULONG
KeyVer
,
LPVOID
*
Key
,
RPC_STATUS
*
status
);
typedef
struct
_RPC_POLICY
...
...
@@ -54,6 +75,33 @@ typedef struct _RPC_POLICY
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingCopy
(
RPC_BINDING_HANDLE
SourceBinding
,
RPC_BINDING_HANDLE
*
DestinationBinding
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingFree
(
RPC_BINDING_HANDLE
Binding
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingFromStringBindingA
(
LPSTR
StringBinding
,
RPC_BINDING_HANDLE
*
Binding
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingFromStringBindingW
(
LPWSTR
StringBinding
,
RPC_BINDING_HANDLE
*
Binding
);
#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingToStringBindingA
(
RPC_BINDING_HANDLE
Binding
,
LPSTR
*
StringBinding
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingToStringBindingW
(
RPC_BINDING_HANDLE
Binding
,
LPWSTR
*
StringBinding
);
#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingVectorFree
(
RPC_BINDING_VECTOR
**
BindingVector
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerInqBindings
(
RPC_BINDING_VECTOR
**
BindingVector
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerListen
(
UINT
MinimumCallThreads
,
UINT
MaxCalls
,
UINT
DontWait
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerRegisterIf
(
RPC_IF_HANDLE
IfSpec
,
UUID
*
MgrTypeUuid
,
RPC_MGR_EPV
*
MgrEpv
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
...
...
@@ -68,6 +116,7 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
RpcServerUseProtseqEpA
(
LPSTR
Protseq
,
UINT
MaxCalls
,
LPSTR
Endpoint
,
LPVOID
SecurityDescriptor
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerUseProtseqEpW
(
LPWSTR
Protseq
,
UINT
MaxCalls
,
LPWSTR
Endpoint
,
LPVOID
SecurityDescriptor
);
#define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerUseProtseqEpExA
(
LPSTR
Protseq
,
UINT
MaxCalls
,
LPSTR
Endpoint
,
LPVOID
SecurityDescriptor
,
...
...
@@ -75,8 +124,6 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerUseProtseqEpExW
(
LPWSTR
Protseq
,
UINT
MaxCalls
,
LPWSTR
Endpoint
,
LPVOID
SecurityDescriptor
,
PRPC_POLICY
Policy
);
#define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
#define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
...
...
@@ -85,7 +132,6 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcServerRegisterAuthInfoW
(
LPWSTR
ServerPrincName
,
ULONG
AuthnSvc
,
RPC_AUTH_KEY_RETRIEVAL_FN
GetKeyFn
,
LPVOID
Arg
);
#define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
...
...
@@ -97,18 +143,25 @@ RPCRTAPI RPC_STATUS RPC_ENTRY
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcStringBindingComposeW
(
LPWSTR
ObjUuid
,
LPWSTR
Protseq
,
LPWSTR
NetworkAddr
,
LPWSTR
Endpoint
,
LPWSTR
Options
,
LPWSTR
*
StringBinding
);
#define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
Rpc
BindingFromStringBindingA
(
LPSTR
StringBinding
,
RPC_BINDING_HANDLE
*
Binding
);
Rpc
StringFreeA
(
unsigned
char
**
String
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
RpcBindingFromStringBindingW
(
LPWSTR
StringBinding
,
RPC_BINDING_HANDLE
*
Binding
);
RpcStringFreeW
(
unsigned
short
**
String
);
#define RpcStringFree WINELIB_NAME_AW(RpcStringFree)
#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
RPCRTAPI
RPC_STATUS
RPC_ENTRY
UuidCreate
(
UUID
*
Uuid
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
UuidToStringA
(
UUID
*
Uuid
,
unsigned
char
**
StringUuid
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
UuidToStringW
(
UUID
*
Uuid
,
unsigned
short
**
StringUuid
);
#define UuidToString WINELIB_NAME_AW(UuidToString)
RPCRTAPI
unsigned
short
RPC_ENTRY
UuidHash
(
UUID
*
,
RPC_STATUS
*
);
UuidHash
(
UUID
*
Uuid
,
RPC_STATUS
*
Status_
);
#include "rpcdcep.h"
...
...
include/rpcndr.h
View file @
0dac972d
...
...
@@ -7,8 +7,236 @@
#endif // __RPCNDR_H_VERSION__
typedef
unsigned
char
byte
;
typedef
__int64
hyper
;
typedef
__uint64
MIDL_uhyper
;
/* 'boolean' tend to conflict, let's call it _wine_boolean */
typedef
unsigned
char
_wine_boolean
;
/* typedef _wine_boolean boolean; */
typedef
struct
{
void
*
pad
[
2
];
void
*
userContext
;
}
*
NDR_SCONTEXT
;
#define NDRSContextValue(hContext) (&(hContext)->userContext)
#define cbNDRContext 20
typedef
void
__RPC_USER
(
*
NDR_RUNDOWN
)(
void
*
context
);
typedef
void
__RPC_USER
(
*
NDR_NOTIFY_ROUTINE
)(
void
);
typedef
void
__RPC_USER
(
*
NDR_NOTIFY2_ROUTINE
)(
_wine_boolean
flag
);
#define DECLSPEC_UUID(x)
#define MIDL_INTERFACE(x) struct
struct
_MIDL_STUB_MESSAGE
;
struct
_MIDL_STUB_DESC
;
struct
_FULL_PTR_XLAT_TABLES
;
typedef
void
__RPC_USER
(
*
EXPR_EVAL
)(
struct
_MIDL_STUB_MESSAGE
*
);
typedef
const
unsigned
char
*
PFORMAT_STRING
;
typedef
struct
{
long
Dimension
;
unsigned
long
*
BufferConformanceMark
;
unsigned
long
*
BufferVarianceMark
;
unsigned
long
*
MaxCountArray
;
unsigned
long
*
OffsetArray
;
unsigned
long
*
ActualCountArray
;
}
ARRAY_INFO
,
*
PARRAY_INFO
;
typedef
struct
_NDR_PIPE_DESC
*
PNDR_PIPE_DESC
;
typedef
struct
_NDR_PIPE_MESSAGE
*
PNDR_PIPE_MESSAGE
;
typedef
struct
_NDR_ASYNC_MESSAGE
*
PNDR_ASYNC_MESSAGE
;
typedef
struct
_NDR_CORRELATION_INFO
*
PNDR_CORRELATION_INFO
;
typedef
struct
_MIDL_STUB_MESSAGE
{
PRPC_MESSAGE
RpcMsg
;
unsigned
char
*
Buffer
;
unsigned
char
*
BufferStart
;
unsigned
char
*
BufferEnd
;
unsigned
char
*
BufferMark
;
unsigned
long
BufferLength
;
unsigned
long
MemorySize
;
unsigned
char
*
Memory
;
int
IsClient
;
int
ReuseBuffer
;
unsigned
char
*
AllocAllNodesMemory
;
unsigned
char
*
AllocAllNodesMemoryEnd
;
int
IgnoreEmbeddedPointers
;
unsigned
char
*
PointerBufferMark
;
unsigned
char
fBufferValid
;
unsigned
char
uFlags
;
ULONG_PTR
MaxCount
;
unsigned
long
Offset
;
unsigned
long
ActualCount
;
void
*
__RPC_API
(
*
pfnAllocate
)(
size_t
);
void
__RPC_API
(
*
pfnFree
)(
void
*
);
unsigned
char
*
StackTop
;
unsigned
char
*
pPresentedType
;
unsigned
char
*
pTransmitType
;
handle_t
SavedHandle
;
const
struct
_MIDL_STUB_DESC
*
StubDesc
;
struct
_FULL_PTR_XLAT_TABLES
*
FullPtrXlatTables
;
unsigned
long
FullPtrRefId
;
unsigned
long
ulUnused1
;
int
fInDontFree
:
1
;
int
fDontCallFreeInst
:
1
;
int
fInOnlyParam
:
1
;
int
fHasReturn
:
1
;
int
fHasExtensions
:
1
;
int
fHasNewCorrDesc
:
1
;
int
fUnused
:
10
;
unsigned
long
dwDestContext
;
void
*
pvDestContext
;
NDR_SCONTEXT
*
SavedContextHandles
;
long
ParamNumber
;
struct
IRpcChannelBuffer
*
pRpcChannelBuffer
;
PARRAY_INFO
pArrayInfo
;
unsigned
long
*
SizePtrCountArray
;
unsigned
long
*
SizePtrOffsetArray
;
unsigned
long
*
SizePtrLengthArray
;
void
*
pArgQueue
;
unsigned
long
dwStubPhase
;
PNDR_PIPE_DESC
pPipeDesc
;
PNDR_ASYNC_MESSAGE
pAsyncMsg
;
PNDR_CORRELATION_INFO
pCorrInfo
;
unsigned
char
*
pCorrMemory
;
void
*
pMemoryList
;
ULONG_PTR
w2kReserved
[
5
];
}
MIDL_STUB_MESSAGE
,
*
PMIDL_STUB_MESSAGE
;
typedef
struct
_GENERIC_BINDING_ROUTINE_PAIR
GENERIC_BINDING_ROUTINE_PAIR
,
*
PGENERIC_BINDING_ROUTINE_PAIR
;
typedef
struct
__GENERIC_BINDING_INFO
GENERIC_BINDING_INFO
,
*
PGENERIC_BINDING_INFO
;
typedef
struct
_XMIT_ROUTINE_QUINTUPLE
XMIT_ROUTINE_QUINTUPLE
,
*
PXMIT_ROUTINE_QUINTUPLE
;
typedef
struct
_USER_MARSHAL_ROUTINE_QUADRUPLE
USER_MARSHAL_ROUTINE_QUADRUPLE
;
typedef
struct
_MALLOC_FREE_STRUCT
MALLOC_FREE_STRUCT
;
typedef
struct
_COMM_FAULT_OFFSETS
COMM_FAULT_OFFSETS
;
typedef
struct
_MIDL_STUB_DESC
{
void
*
RpcInterfaceInformation
;
void
*
__RPC_API
(
*
pfnAllocate
)(
size_t
);
void
__RPC_API
(
*
pfnFree
)(
void
*
);
union
{
handle_t
*
pAutoHandle
;
handle_t
*
pPrimitiveHandle
;
PGENERIC_BINDING_INFO
pGenericBindingInfo
;
}
IMPLICIT_HANDLE_INFO
;
const
NDR_RUNDOWN
*
apfnNdrRundownRoutines
;
const
GENERIC_BINDING_ROUTINE_PAIR
*
aGenericBindingRoutinePairs
;
const
EXPR_EVAL
*
apfnExprEval
;
const
XMIT_ROUTINE_QUINTUPLE
*
aXmitQuintuple
;
const
unsigned
char
*
pFormatTypes
;
int
fCheckBounds
;
unsigned
long
Version
;
MALLOC_FREE_STRUCT
*
pMallocFreeStruct
;
long
MIDLVersion
;
const
COMM_FAULT_OFFSETS
*
CommFaultOffsets
;
const
USER_MARSHAL_ROUTINE_QUADRUPLE
*
aUserMarshalQuadruple
;
const
NDR_NOTIFY_ROUTINE
*
NotifyRoutineTable
;
ULONG_PTR
mFlags
;
ULONG_PTR
Reserved3
;
ULONG_PTR
Reserved4
;
ULONG_PTR
Reserved5
;
}
MIDL_STUB_DESC
;
typedef
const
MIDL_STUB_DESC
*
PMIDL_STUB_DESC
;
typedef
struct
_MIDL_FORMAT_STRING
{
short
Pad
;
#if defined(__GNUC__)
unsigned
char
Format
[
0
];
#else
unsigned
char
Format
[
1
];
#endif
}
MIDL_FORMAT_STRING
;
typedef
void
__RPC_API
(
*
STUB_THUNK
)(
PMIDL_STUB_MESSAGE
);
typedef
long
__RPC_API
(
*
SERVER_ROUTINE
)();
typedef
struct
_MIDL_SERVER_INFO_
{
PMIDL_STUB_DESC
pStubDesc
;
const
SERVER_ROUTINE
*
DispatchTable
;
PFORMAT_STRING
ProcString
;
const
unsigned
short
*
FmtStringOffset
;
const
STUB_THUNK
*
ThunkTable
;
PFORMAT_STRING
LocalFormatTypes
;
PFORMAT_STRING
LocalProcString
;
const
unsigned
short
*
LocalFmtStringOffset
;
}
MIDL_SERVER_INFO
,
*
PMIDL_SERVER_INFO
;
typedef
enum
{
STUB_UNMARSHAL
,
STUB_CALL_SERVER
,
STUB_MARSHAL
,
STUB_CALL_SERVER_NO_HRESULT
}
STUB_PHASE
;
typedef
enum
{
PROXY_CALCSIZE
,
PROXY_GETBUFFER
,
PROXY_MARSHAL
,
PROXY_SENDRECEIVE
,
PROXY_UNMARSHAL
}
PROXY_PHASE
;
struct
IRpcStubBuffer
;
RPCRTAPI
void
RPC_ENTRY
NdrSimpleTypeMarshall
(
PMIDL_STUB_MESSAGE
pStubMsg
,
unsigned
char
*
pMemory
,
unsigned
char
FormatChar
);
RPCRTAPI
void
RPC_ENTRY
NdrSimpleTypeUnmarshall
(
PMIDL_STUB_MESSAGE
pStubMsg
,
unsigned
char
*
pMemory
,
unsigned
char
FormatChar
);
/* while MS declares each prototype separately, I prefer to use macros for this kind of thing instead */
#define TYPE_MARSHAL(type) \
RPCRTAPI unsigned char* RPC_ENTRY \
Ndr##type##Marshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
RPCRTAPI unsigned char* RPC_ENTRY \
Ndr##type##Unmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); \
RPCRTAPI void RPC_ENTRY \
Ndr##type##BufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
RPCRTAPI unsigned long RPC_ENTRY \
Ndr##type##MemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); \
RPCRTAPI void RPC_ENTRY \
Ndr##type##Free( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
TYPE_MARSHAL
(
Pointer
)
TYPE_MARSHAL
(
SimpleStruct
)
TYPE_MARSHAL
(
ConformantStruct
)
TYPE_MARSHAL
(
ConformantVaryingStruct
)
TYPE_MARSHAL
(
ComplexStruct
)
TYPE_MARSHAL
(
FixedArray
)
TYPE_MARSHAL
(
ConformantArray
)
TYPE_MARSHAL
(
ConformantVaryingArray
)
TYPE_MARSHAL
(
VaryingArray
)
TYPE_MARSHAL
(
ComplexArray
)
TYPE_MARSHAL
(
EncapsulatedUnion
)
TYPE_MARSHAL
(
NonEncapsulatedUnion
)
TYPE_MARSHAL
(
ByteCountPointer
)
TYPE_MARSHAL
(
XmitOrRepAs
)
TYPE_MARSHAL
(
UserMarshal
)
TYPE_MARSHAL
(
InterfacePointer
)
#undef TYPE_MARSHAL
RPCRTAPI
void
RPC_ENTRY
NdrConvert2
(
PMIDL_STUB_MESSAGE
pStubMsg
,
PFORMAT_STRING
pFormat
,
long
NumberParams
);
RPCRTAPI
void
RPC_ENTRY
NdrConvert
(
PMIDL_STUB_MESSAGE
pStubMsg
,
PFORMAT_STRING
pFormat
);
RPCRTAPI
void
*
RPC_ENTRY
NdrOleAllocate
(
size_t
Size
);
RPCRTAPI
void
RPC_ENTRY
NdrOleFree
(
void
*
NodeToFree
);
#endif
/*__WINE_RPCNDR_H */
include/rpcproxy.h
0 → 100644
View file @
0dac972d
#ifndef __WINE_RPCPROXY_H
#define __WINE_RPCPROXY_H
#include "basetsd.h"
#include "guiddef.h"
typedef
struct
tagCInterfaceStubVtbl
*
PCInterfaceStubVtblList
;
typedef
struct
tagCInterfaceProxyVtbl
*
PCInterfaceProxyVtblList
;
typedef
const
char
*
PCInterfaceName
;
typedef
int
__stdcall
IIDLookupRtn
(
const
IID
*
pIID
,
int
*
pIndex
);
typedef
IIDLookupRtn
*
PIIDLookup
;
typedef
struct
tagProxyFileInfo
{
const
PCInterfaceProxyVtblList
*
pProxyVtblList
;
const
PCInterfaceStubVtblList
*
pStubVtblList
;
const
PCInterfaceName
*
pNamesArray
;
const
IID
**
pDelegatedIIDs
;
const
PIIDLookup
pIIDLookupRtn
;
unsigned
short
TableSize
;
unsigned
short
TableVersion
;
const
IID
**
pAsyncIIDLookup
;
LONG_PTR
Filler2
;
LONG_PTR
Filler3
;
LONG_PTR
Filler4
;
}
ProxyFileInfo
;
typedef
ProxyFileInfo
ExtendedProxyFileInfo
;
#include "rpc.h"
#include "rpcndr.h"
typedef
struct
tagCInterfaceProxyHeader
{
#ifdef USE_STUBLESS_PROXY
const
void
*
pStublessProxyInfo
;
#endif
const
IID
*
piid
;
}
CInterfaceProxyHeader
;
#define CINTERFACE_PROXY_VTABLE(n) \
struct \
{ \
CInterfaceProxyHeader header; \
void *Vtbl[n]; \
}
typedef
struct
tagCInterfaceProxyVtbl
{
CInterfaceProxyHeader
header
;
#if defined(__GNUC__)
void
*
Vtbl
[
0
];
#else
void
*
Vtbl
[
1
];
#endif
}
CInterfaceProxyVtbl
;
typedef
void
(
__RPC_STUB
*
PRPC_STUB_FUNCTION
)(
IRpcStubBuffer
*
This
,
IRpcChannelBuffer
*
_pRpcChannelBuffer
,
PRPC_MESSAGE
_pRpcMessage
,
DWORD
*
pdwStubPhase
);
typedef
struct
tagCInterfaceStubHeader
{
const
IID
*
piid
;
const
MIDL_SERVER_INFO
*
pServerInfo
;
unsigned
long
DispatchTableCount
;
const
PRPC_STUB_FUNCTION
*
pDispatchTable
;
}
CInterfaceStubHeader
;
typedef
struct
tagCInterfaceStubVtbl
{
CInterfaceStubHeader
header
;
ICOM_VTABLE
(
IRpcStubBuffer
)
Vtbl
;
}
CInterfaceStubVtbl
;
typedef
struct
tagCStdStubBuffer
{
const
ICOM_VTABLE
(
IRpcStubBuffer
)
*
lpVtbl
;
long
RefCount
;
struct
IUnknown
*
pvServerObject
;
const
struct
ICallFactoryVtbl
*
pCallFactoryVtbl
;
const
IID
*
pAsyncIID
;
struct
IPSFactoryBuffer
*
pPSFactory
;
}
CStdStubBuffer
;
typedef
struct
tagCStdPSFactoryBuffer
{
const
IPSFactoryBufferVtbl
*
lpVtbl
;
long
RefCount
;
const
ProxyFileInfo
**
pProxyFileList
;
long
Filler1
;
}
CStdPSFactoryBuffer
;
HRESULT
WINAPI
CStdStubBuffer_QueryInterface
(
IRpcStubBuffer
*
This
,
REFIID
riid
,
void
**
ppvObject
);
ULONG
WINAPI
CStdStubBuffer_AddRef
(
IRpcStubBuffer
*
This
);
ULONG
WINAPI
CStdStubBuffer_Release
(
IRpcStubBuffer
*
This
);
ULONG
WINAPI
NdrCStdStubBuffer_Release
(
IRpcStubBuffer
*
This
,
IPSFactoryBuffer
*
pPSF
);
HRESULT
WINAPI
CStdStubBuffer_Connect
(
IRpcStubBuffer
*
This
,
IUnknown
*
pUnkServer
);
void
WINAPI
CStdStubBuffer_Disconnect
(
IRpcStubBuffer
*
This
);
HRESULT
WINAPI
CStdStubBuffer_Invoke
(
IRpcStubBuffer
*
This
,
RPCOLEMESSAGE
*
pRpcMsg
,
IRpcChannelBuffer
*
pRpcChannelBuffer
);
IRpcStubBuffer
*
WINAPI
CStdStubBuffer_IsIIDSupported
(
IRpcStubBuffer
*
This
,
REFIID
riid
);
ULONG
WINAPI
CStdStubBuffer_CountRefs
(
IRpcStubBuffer
*
This
);
HRESULT
WINAPI
CStdStubBuffer_DebugServerQueryInterface
(
IRpcStubBuffer
*
This
,
void
**
ppv
);
void
WINAPI
CStdStubBuffer_DebugServerRelease
(
IRpcStubBuffer
*
This
,
void
*
pv
);
#define CStdStubBuffer_METHODS \
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE \
CStdStubBuffer_QueryInterface, \
CStdStubBuffer_AddRef, \
CStdStubBuffer_Release, \
CStdStubBuffer_Connect, \
CStdStubBuffer_Disconnect, \
CStdStubBuffer_Invoke, \
CStdStubBuffer_IsIIDSupported, \
CStdStubBuffer_CountRefs, \
CStdStubBuffer_DebugServerQueryInterface, \
CStdStubBuffer_DebugServerRelease
RPCRTAPI
HRESULT
RPC_ENTRY
NdrDllGetClassObject
(
REFCLSID
rclsid
,
REFIID
riid
,
void
**
ppv
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
,
CStdPSFactoryBuffer
*
pPSFactoryBuffer
);
RPCRTAPI
HRESULT
RPC_ENTRY
NdrDllCanUnloadNow
(
CStdPSFactoryBuffer
*
pPSFactoryBuffer
);
RPCRTAPI
HRESULT
RPC_ENTRY
NdrDllRegisterProxy
(
HMODULE
hDll
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
);
RPCRTAPI
HRESULT
RPC_ENTRY
NdrDllUnregisterProxy
(
HMODULE
hDll
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
);
#define CSTDSTUBBUFFERRELEASE(pFactory) \
ULONG WINAPI CStdStubBuffer_Release(IRpcStubBuffer *This) \
{ return NdrCStdStubBuffer_Release(This, (IPSFactoryBuffer *)pFactory); }
#if defined(__WINE__) && defined(__WINE_WINE_OBJ_OLEAUT_H)
/* see http://msdn.microsoft.com/library/en-us/dnmsj99/html/com0199.asp?frame=true */
RPCRTAPI
HRESULT
RPC_ENTRY
CreateProxyFromTypeInfo
(
LPTYPEINFO
pTypeInfo
,
LPUNKNOWN
pUnkOuter
,
REFIID
riid
,
LPRPCPROXYBUFFER
*
ppProxy
,
LPVOID
*
ppv
);
RPCRTAPI
HRESULT
RPC_ENTRY
CreateStubFromTypeInfo
(
LPTYPEINFO
pTypeInfo
,
REFIID
riid
,
LPUNKNOWN
pUnkServer
,
LPRPCSTUBBUFFER
*
ppStub
);
#endif
#endif
/*__WINE_RPCDCE_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment