home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 April / PCWorld_2000-04_cd.bin / Software / Servis / Devc / _SETUP.4 / Group3 / rpcdcep.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  5KB  |  125 lines

  1. #ifndef _RPCDCEP_H
  2. #define _RPCDCEP_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define RPC_NCA_FLAGS_DEFAULT 0
  7. #define RPC_NCA_FLAGS_IDEMPOTENT 1
  8. #define RPC_NCA_FLAGS_BROADCAST 2
  9. #define RPC_NCA_FLAGS_MAYBE 4
  10. #define RPCFLG_ASYNCHRONOUS 0x40000000
  11. #define RPCFLG_INPUT_SYNCHRONOUS 0x20000000
  12. #define RPC_FLAGS_VALID_BIT 0x8000
  13. #define TRANSPORT_TYPE_CN 1
  14. #define TRANSPORT_TYPE_DG 2
  15. #define TRANSPORT_TYPE_LPC 4
  16. #define TRANSPORT_TYPE_WMSG 8
  17.  
  18. typedef struct _RPC_VERSION {
  19.     unsigned short MajorVersion;
  20.     unsigned short MinorVersion;
  21. } RPC_VERSION;
  22. typedef struct _RPC_SYNTAX_IDENTIFIER {
  23.     GUID SyntaxGUID;
  24.     RPC_VERSION SyntaxVersion;
  25. } RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
  26. typedef struct _RPC_MESSAGE {
  27.     HANDLE Handle;
  28.     unsigned long DataRepresentation;
  29.     void *Buffer;
  30.     unsigned int BufferLength;
  31.     unsigned int ProcNum;
  32.     PRPC_SYNTAX_IDENTIFIER TransferSyntax;
  33.     void *RpcInterfaceInformation;
  34.     void *ReservedForRuntime;
  35.     void *ManagerEpv;
  36.     void *ImportContext;
  37.     unsigned long RpcFlags;
  38. } RPC_MESSAGE,*PRPC_MESSAGE;
  39. typedef long __stdcall RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**);
  40. typedef void(__stdcall *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message);
  41. typedef struct {
  42.     unsigned int DispatchTableCount;
  43.     RPC_DISPATCH_FUNCTION *DispatchTable;
  44.     int Reserved;
  45. } RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
  46. typedef struct _RPC_PROTSEQ_ENDPOINT {
  47.     unsigned char *RpcProtocolSequence;
  48.     unsigned char *Endpoint;
  49. } RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
  50. typedef struct _RPC_SERVER_INTERFACE {
  51.     unsigned int Length;
  52.     RPC_SYNTAX_IDENTIFIER InterfaceId;
  53.     RPC_SYNTAX_IDENTIFIER TransferSyntax;
  54.     PRPC_DISPATCH_TABLE DispatchTable;
  55.     unsigned int RpcProtseqEndpointCount;
  56.     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
  57.     void *DefaultManagerEpv;
  58.     void const *InterpreterInfo;
  59. } RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
  60. typedef struct _RPC_CLIENT_INTERFACE {
  61.     unsigned int Length;
  62.     RPC_SYNTAX_IDENTIFIER InterfaceId;
  63.     RPC_SYNTAX_IDENTIFIER TransferSyntax;
  64.     PRPC_DISPATCH_TABLE DispatchTable;
  65.     unsigned int RpcProtseqEndpointCount;
  66.     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
  67.     unsigned long Reserved;
  68.     void const *InterpreterInfo;
  69. } RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
  70. typedef void *I_RPC_MUTEX;
  71. typedef struct _RPC_TRANSFER_SYNTAX {
  72.     GUID Uuid;
  73.     unsigned short VersMajor;
  74.     unsigned short VersMinor;
  75. } RPC_TRANSFER_SYNTAX;
  76. typedef long(__stdcall *RPC_BLOCKING_FUNCTION)(void*,void*);
  77.  
  78. long __stdcall I_RpcGetBuffer(RPC_MESSAGE*);
  79. long __stdcall I_RpcSendReceive(RPC_MESSAGE*);
  80. long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*);
  81. void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*);
  82. void __stdcall I_RpcClearMutex(I_RPC_MUTEX);
  83. void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX);
  84. void* __stdcall I_RpcAllocate(unsigned int);
  85. void __stdcall I_RpcFree(void*);
  86. void __stdcall I_RpcPauseExecution(unsigned long);
  87. typedef void(__stdcall *PRPC_RUNDOWN) (void*);
  88. long __stdcall I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*);
  89. long __stdcall I_RpcStopMonitorAssociation(HANDLE);
  90. HANDLE __stdcall I_RpcGetCurrentCallHandle(void);
  91. long __stdcall I_RpcGetAssociationContext(void**);
  92. long __stdcall I_RpcSetAssociationContext(void*);
  93. #ifdef __RPC_NT__
  94. long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*);
  95. long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**);
  96. #else
  97. long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned char*);
  98. long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE,unsigned char**);
  99. #endif
  100. long __stdcall I_RpcBindingInqTransportType(HANDLE,unsigned int*);
  101. long __stdcall I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*);
  102. long __stdcall I_UuidCreate(GUID*);
  103. long __stdcall I_RpcBindingCopy(HANDLE,HANDLE*);
  104. long __stdcall I_RpcBindingIsClientLocal(HANDLE,unsigned int*);
  105. void __stdcall I_RpcSsDontSerializeContext(void);
  106. long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
  107. long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
  108. long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
  109. long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FUNCTION);
  110. long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
  111. long __stdcall I_RpcGetThreadWindowHandle(void**);
  112. long __stdcall I_RpcServerThreadPauseListening();
  113. long __stdcall I_RpcServerThreadContinueListening();
  114. long __stdcall I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*);
  115. long __stdcall I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*);
  116. #ifdef UNICODE
  117. #define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW
  118. #else
  119. #define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA
  120. #endif
  121. #ifdef __cplusplus
  122. }
  123. #endif
  124. #endif
  125.