home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 August / Chip_2000-08_cd1.bin / sharewar / dvcpp / _SETUP.5 / Group3 / rpcdcep.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-08  |  4.6 KB  |  119 lines

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