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
0dac972d
Commit
0dac972d
authored
23 years ago
by
Ove Kåven
Committed by
Alexandre Julliard
23 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Added some RPC definitions.
parent
b60c4ce0
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
include/Makefile.in
+1
-0
1 addition, 0 deletions
include/Makefile.in
include/rpcdce.h
+62
-9
62 additions, 9 deletions
include/rpcdce.h
include/rpcndr.h
+228
-0
228 additions, 0 deletions
include/rpcndr.h
include/rpcproxy.h
+159
-0
159 additions, 0 deletions
include/rpcproxy.h
with
450 additions
and
9 deletions
include/Makefile.in
+
1
−
0
View file @
0dac972d
...
...
@@ -101,6 +101,7 @@ INSTALLED_INCLUDES = \
rpcdcep.h
\
rpcndr.h
\
rpcnterr.h
\
rpcproxy.h
\
servprov.h
\
setupapi.h
\
shellapi.h
\
...
...
This diff is collapsed.
Click to expand it.
include/rpcdce.h
+
62
−
9
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
...
...
@@ -53,6 +74,33 @@ typedef struct _RPC_POLICY
}
RPC_POLICY
,
*
PRPC_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
);
...
...
@@ -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
*
Bind
ing
);
Rpc
StringFreeA
(
unsigned
char
**
Str
ing
);
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"
...
...
This diff is collapsed.
Click to expand it.
include/rpcndr.h
+
228
−
0
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 */
This diff is collapsed.
Click to expand it.
include/rpcproxy.h
0 → 100644
+
159
−
0
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 */
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