turborex 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +674 -0
  3. data/README.md +38 -0
  4. data/README.rdoc +19 -0
  5. data/examples/alpc_client.rb +15 -0
  6. data/examples/alpc_server.rb +14 -0
  7. data/examples/com_client.rb +19 -0
  8. data/examples/com_finder.rb +39 -0
  9. data/examples/create_instance.rb +15 -0
  10. data/examples/cstruct.rb +19 -0
  11. data/examples/find_com_client_calls.rb +16 -0
  12. data/examples/find_rpc_security_callback.rb +12 -0
  13. data/examples/rpc_finder.rb +117 -0
  14. data/examples/scan_exports.rb +5 -0
  15. data/examples/scan_imports.rb +5 -0
  16. data/examples/tinysdk.rb +17 -0
  17. data/lib/turborex.rb +21 -0
  18. data/lib/turborex/cstruct.rb +565 -0
  19. data/lib/turborex/cstruct/struct_helper.rb +7 -0
  20. data/lib/turborex/exception.rb +65 -0
  21. data/lib/turborex/fuzzer.rb +204 -0
  22. data/lib/turborex/fuzzer/containers.rb +115 -0
  23. data/lib/turborex/fuzzer/coverage.rb +67 -0
  24. data/lib/turborex/fuzzer/mutators.rb +25 -0
  25. data/lib/turborex/fuzzer/seed.rb +30 -0
  26. data/lib/turborex/monkey.rb +11 -0
  27. data/lib/turborex/msrpc.rb +14 -0
  28. data/lib/turborex/msrpc/decompiler.rb +244 -0
  29. data/lib/turborex/msrpc/midl.rb +747 -0
  30. data/lib/turborex/msrpc/ndrtype.rb +167 -0
  31. data/lib/turborex/msrpc/rpcbase.rb +777 -0
  32. data/lib/turborex/msrpc/rpcfinder.rb +1426 -0
  33. data/lib/turborex/msrpc/utils.rb +70 -0
  34. data/lib/turborex/pefile.rb +8 -0
  35. data/lib/turborex/pefile/pe.rb +61 -0
  36. data/lib/turborex/pefile/scanner.rb +82 -0
  37. data/lib/turborex/utils.rb +321 -0
  38. data/lib/turborex/windows.rb +402 -0
  39. data/lib/turborex/windows/alpc.rb +844 -0
  40. data/lib/turborex/windows/com.rb +266 -0
  41. data/lib/turborex/windows/com/client.rb +84 -0
  42. data/lib/turborex/windows/com/com_finder.rb +330 -0
  43. data/lib/turborex/windows/com/com_registry.rb +100 -0
  44. data/lib/turborex/windows/com/interface.rb +522 -0
  45. data/lib/turborex/windows/com/utils.rb +210 -0
  46. data/lib/turborex/windows/constants.rb +82 -0
  47. data/lib/turborex/windows/process.rb +56 -0
  48. data/lib/turborex/windows/security.rb +12 -0
  49. data/lib/turborex/windows/security/ace.rb +76 -0
  50. data/lib/turborex/windows/security/acl.rb +25 -0
  51. data/lib/turborex/windows/security/security_descriptor.rb +118 -0
  52. data/lib/turborex/windows/tinysdk.rb +89 -0
  53. data/lib/turborex/windows/utils.rb +138 -0
  54. data/resources/headers/alpc/ntdef.h +72 -0
  55. data/resources/headers/alpc/ntlpcapi.h +1014 -0
  56. data/resources/headers/rpc/common.h +162 -0
  57. data/resources/headers/rpc/guiddef.h +191 -0
  58. data/resources/headers/rpc/internal_ndrtypes.h +262 -0
  59. data/resources/headers/rpc/rpc.h +10 -0
  60. data/resources/headers/rpc/rpcdce.h +266 -0
  61. data/resources/headers/rpc/rpcdcep.h +187 -0
  62. data/resources/headers/rpc/rpcndr.h +39 -0
  63. data/resources/headers/rpc/v4_x64/rpcinternals.h +154 -0
  64. data/resources/headers/rpc/wintype.h +517 -0
  65. data/resources/headers/tinysdk/tinysdk.h +5 -0
  66. data/resources/headers/tinysdk/tinysdk/comdef.h +645 -0
  67. data/resources/headers/tinysdk/tinysdk/dbghelp.h +118 -0
  68. data/resources/headers/tinysdk/tinysdk/guiddef.h +194 -0
  69. data/resources/headers/tinysdk/tinysdk/memoryapi.h +12 -0
  70. data/resources/headers/tinysdk/tinysdk/poppack.h +12 -0
  71. data/resources/headers/tinysdk/tinysdk/pshpack4.h +13 -0
  72. data/resources/headers/tinysdk/tinysdk/winnt.h +1059 -0
  73. data/resources/headers/tinysdk/tinysdk/wintype.h +326 -0
  74. metadata +290 -0
@@ -0,0 +1,10 @@
1
+ typedef long RPC_STATUS;
2
+ #define RPC_ENTRY __stdcall
3
+
4
+ #define IN
5
+ #define OUT
6
+ #define __RPC_FAR
7
+ typedef void * I_RPC_HANDLE;
8
+
9
+ #include <rpcdce.h>
10
+ #include <rpcndr.h>
@@ -0,0 +1,266 @@
1
+ #ifndef __RPCDCE_H__
2
+ #define __RPCDCE_H__
3
+
4
+ #if _MSC_VER > 1000
5
+ #pragma once
6
+ #endif
7
+
8
+ #ifdef __cplusplus
9
+ extern "C" {
10
+ #endif
11
+
12
+
13
+ #pragma region Application Family or OneCore Family
14
+
15
+ #define RPC_C_PARM_MAX_PACKET_LENGTH 1
16
+ #define RPC_C_PARM_BUFFER_LENGTH 2
17
+
18
+ #define RPC_IF_AUTOLISTEN 0x0001
19
+ #define RPC_IF_OLE 0x0002
20
+ #define RPC_IF_ALLOW_UNKNOWN_AUTHORITY 0x0004
21
+ #define RPC_IF_ALLOW_SECURE_ONLY 0x0008
22
+ #define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 0x0010
23
+ #define RPC_IF_ALLOW_LOCAL_ONLY 0x0020
24
+ #define RPC_IF_SEC_NO_CACHE 0x0040
25
+ #if (NTDDI_VERSION >= NTDDI_VISTA)
26
+ #define RPC_IF_SEC_CACHE_PER_PROC 0x0080
27
+ #define RPC_IF_ASYNC_CALLBACK 0x0100
28
+ #endif // (NTDDI_VERSION >= NTDDI_VISTA)
29
+
30
+ #if (NTDDI_VERSION >= NTDDI_VISTA)
31
+ #define RPC_FW_IF_FLAG_DCOM 0x0001
32
+ #endif // (NTDDI_VERSION >= NTDDI_VISTA)
33
+
34
+ #ifndef IN
35
+ #define IN
36
+ #endif
37
+
38
+ #ifndef OUT
39
+ #define OUT
40
+ #endif
41
+
42
+ #ifndef OPTIONAL
43
+ #define OPTIONAL
44
+ #endif
45
+
46
+ #ifndef DECLSPEC_NORETURN
47
+ #if (_MSC_VER >= 1200) && !defined(MIDL_PASS)
48
+ #define DECLSPEC_NORETURN __declspec(noreturn)
49
+ #else
50
+ #define DECLSPEC_NORETURN
51
+ #endif
52
+ #endif
53
+
54
+
55
+ typedef unsigned char __RPC_FAR * RPC_CSTR;
56
+
57
+ #if defined(RPC_USE_NATIVE_WCHAR) && defined(_NATIVE_WCHAR_T_DEFINED)
58
+ typedef wchar_t __RPC_FAR * RPC_WSTR;
59
+ typedef const wchar_t * RPC_CWSTR;
60
+ #else
61
+ typedef unsigned short __RPC_FAR * RPC_WSTR;
62
+ typedef const unsigned short * RPC_CWSTR;
63
+ #endif
64
+
65
+ typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
66
+ typedef RPC_BINDING_HANDLE handle_t;
67
+ #define rpc_binding_handle_t RPC_BINDING_HANDLE
68
+
69
+ #ifndef GUID_DEFINED
70
+ #include <guiddef.h>
71
+ #endif /* GUID_DEFINED */
72
+
73
+ #ifndef UUID_DEFINED
74
+ #define UUID_DEFINED
75
+ typedef GUID UUID;
76
+ #ifndef uuid_t
77
+ #define uuid_t UUID
78
+ #endif
79
+ #endif
80
+
81
+
82
+ #pragma endregion
83
+
84
+ #pragma region Desktop Family or OneCore Family
85
+
86
+
87
+ #ifndef rpc_binding_vector_t
88
+ #define rpc_binding_vector_t RPC_BINDING_VECTOR
89
+ #endif
90
+
91
+ #ifndef uuid_vector_t
92
+ #define uuid_vector_t UUID_VECTOR
93
+ #endif
94
+
95
+
96
+ #pragma endregion
97
+
98
+ #pragma region Application Family or OneCore Family
99
+
100
+ typedef void __RPC_FAR * RPC_IF_HANDLE;
101
+
102
+ #ifndef IFID_DEFINED
103
+ #define IFID_DEFINED
104
+ typedef struct _RPC_IF_ID
105
+ {
106
+ UUID Uuid;
107
+ unsigned short VersMajor;
108
+ unsigned short VersMinor;
109
+ } RPC_IF_ID;
110
+ #endif
111
+
112
+
113
+
114
+ #pragma endregion
115
+
116
+ #pragma region Desktop Family or OneCore Family
117
+
118
+
119
+ #define RPC_C_BINDING_INFINITE_TIMEOUT 10
120
+ #define RPC_C_BINDING_MIN_TIMEOUT 0
121
+ #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
122
+ #define RPC_C_BINDING_MAX_TIMEOUT 9
123
+
124
+ #define RPC_C_CANCEL_INFINITE_TIMEOUT -1
125
+
126
+ #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
127
+ #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
128
+
129
+ #define RPC_C_BIND_TO_ALL_NICS 1
130
+ #define RPC_C_USE_INTERNET_PORT 0x1
131
+ #define RPC_C_USE_INTRANET_PORT 0x2
132
+ #define RPC_C_DONT_FAIL 0x4
133
+ #define RPC_C_RPCHTTP_USE_LOAD_BALANCE 0x8
134
+
135
+ #if (NTDDI_VERSION < NTDDI_VISTA)
136
+ #define RPC_C_MQ_TEMPORARY 0x0000
137
+ #define RPC_C_MQ_PERMANENT 0x0001
138
+ #define RPC_C_MQ_CLEAR_ON_OPEN 0x0002
139
+ #define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004
140
+ #define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000
141
+ #define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008
142
+ #define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010
143
+
144
+ #define RPC_C_MQ_EXPRESS 0
145
+ #define RPC_C_MQ_RECOVERABLE 1
146
+
147
+ #define RPC_C_MQ_JOURNAL_NONE 0
148
+ #define RPC_C_MQ_JOURNAL_DEADLETTER 1
149
+ #define RPC_C_MQ_JOURNAL_ALWAYS 2
150
+
151
+
152
+ #define RPC_C_OPT_MQ_DELIVERY 1
153
+ #define RPC_C_OPT_MQ_PRIORITY 2
154
+ #define RPC_C_OPT_MQ_JOURNAL 3
155
+ #define RPC_C_OPT_MQ_ACKNOWLEDGE 4
156
+ #define RPC_C_OPT_MQ_AUTHN_SERVICE 5
157
+ #define RPC_C_OPT_MQ_AUTHN_LEVEL 6
158
+ #define RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE 7
159
+ #define RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED 8
160
+ #endif
161
+
162
+ #define RPC_C_OPT_BINDING_NONCAUSAL 9
163
+ #define RPC_C_OPT_SECURITY_CALLBACK 10
164
+ #define RPC_C_OPT_UNIQUE_BINDING 11
165
+
166
+ #if (NTDDI_VERSION <= NTDDI_WIN2K)
167
+ #define RPC_C_OPT_MAX_OPTIONS 12
168
+
169
+ #elif (NTDDI_VERSION <= NTDDI_WS03)
170
+ #define RPC_C_OPT_CALL_TIMEOUT 12
171
+ #define RPC_C_OPT_DONT_LINGER 13
172
+ #define RPC_C_OPT_MAX_OPTIONS 14
173
+
174
+ #else
175
+ #define RPC_C_OPT_TRANS_SEND_BUFFER_SIZE 5
176
+ #define RPC_C_OPT_CALL_TIMEOUT 12
177
+ #define RPC_C_OPT_DONT_LINGER 13
178
+ #define RPC_C_OPT_TRUST_PEER 14
179
+ #define RPC_C_OPT_ASYNC_BLOCK 15
180
+ #define RPC_C_OPT_OPTIMIZE_TIME 16
181
+ #define RPC_C_OPT_MAX_OPTIONS 17
182
+
183
+ #endif
184
+
185
+ #define RPC_C_FULL_CERT_CHAIN 0x0001
186
+
187
+
188
+
189
+ #ifdef RPC_UNICODE_SUPPORTED
190
+ typedef struct _RPC_PROTSEQ_VECTORA
191
+ {
192
+ unsigned int Count;
193
+ unsigned char __RPC_FAR * Protseq[1];
194
+ } RPC_PROTSEQ_VECTORA;
195
+
196
+ typedef struct _RPC_PROTSEQ_VECTORW
197
+ {
198
+ unsigned int Count;
199
+ unsigned short __RPC_FAR * Protseq[1];
200
+ } RPC_PROTSEQ_VECTORW;
201
+
202
+ #ifdef UNICODE
203
+ #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
204
+ #else /* UNICODE */
205
+ #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
206
+ #endif /* UNICODE */
207
+
208
+ #else
209
+
210
+ typedef struct _RPC_PROTSEQ_VECTOR
211
+ {
212
+ unsigned int Count;
213
+ unsigned char __RPC_FAR * Protseq[1];
214
+ } RPC_PROTSEQ_VECTOR;
215
+
216
+ #endif
217
+ typedef struct _RPC_POLICY {
218
+ unsigned int Length ;
219
+ unsigned long EndpointFlags ;
220
+ unsigned long NICFlags ;
221
+ } RPC_POLICY, __RPC_FAR *PRPC_POLICY ;
222
+
223
+ #pragma endregion
224
+
225
+ #pragma region Application Family or OneCore Family
226
+
227
+
228
+ #define RPC_MGR_EPV void
229
+
230
+ typedef struct
231
+ {
232
+ unsigned int Count;
233
+ unsigned long Stats[1];
234
+ } RPC_STATS_VECTOR;
235
+
236
+ #define RPC_C_STATS_CALLS_IN 0
237
+ #define RPC_C_STATS_CALLS_OUT 1
238
+ #define RPC_C_STATS_PKTS_IN 2
239
+ #define RPC_C_STATS_PKTS_OUT 3
240
+
241
+ typedef struct
242
+ {
243
+ unsigned long Count;
244
+ RPC_IF_ID __RPC_FAR * IfId[1];
245
+ } RPC_IF_ID_VECTOR;
246
+
247
+ #define _In_
248
+
249
+ typedef RPC_STATUS RPC_ENTRY
250
+ RPC_IF_CALLBACK_FN (
251
+ _In_ RPC_IF_HANDLE InterfaceUuid,
252
+ _In_ void *Context
253
+ ) ;
254
+
255
+ typedef struct _UUID_VECTOR
256
+ {
257
+ unsigned long Count;
258
+ UUID *Uuid[1];
259
+ } UUID_VECTOR;
260
+ #include <rpcdcep.h>
261
+
262
+ #ifdef __cplusplus
263
+ }
264
+ #endif
265
+
266
+ #endif
@@ -0,0 +1,187 @@
1
+ #include <wintype.h>
2
+ #include <guiddef.h>
3
+
4
+
5
+ #ifndef __RPCDCEP_H__
6
+ #define __RPCDCEP_H__
7
+
8
+ #if _MSC_VER > 1000
9
+ #pragma once
10
+ #endif
11
+
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif
15
+
16
+
17
+ #pragma region Application Family or OneCore Family
18
+
19
+
20
+ typedef struct _RPC_VERSION {
21
+ unsigned short MajorVersion;
22
+ unsigned short MinorVersion;
23
+ } RPC_VERSION;
24
+
25
+ typedef struct _RPC_SYNTAX_IDENTIFIER {
26
+ GUID SyntaxGUID;
27
+ RPC_VERSION SyntaxVersion;
28
+ } RPC_SYNTAX_IDENTIFIER, __RPC_FAR * PRPC_SYNTAX_IDENTIFIER;
29
+
30
+ typedef struct _RPC_MESSAGE
31
+ {
32
+ RPC_BINDING_HANDLE Handle;
33
+ unsigned long DataRepresentation;
34
+ void __RPC_FAR * Buffer;
35
+ unsigned int BufferLength;
36
+ unsigned int ProcNum;
37
+ PRPC_SYNTAX_IDENTIFIER TransferSyntax;
38
+ void __RPC_FAR * RpcInterfaceInformation;
39
+ void __RPC_FAR * ReservedForRuntime;
40
+ RPC_MGR_EPV __RPC_FAR * ManagerEpv;
41
+ void __RPC_FAR * ImportContext;
42
+ unsigned long RpcFlags;
43
+ } RPC_MESSAGE, __RPC_FAR * PRPC_MESSAGE;
44
+
45
+
46
+ #pragma endregion
47
+
48
+ #pragma region Desktop Family or OneCore Family
49
+
50
+
51
+ typedef RPC_STATUS
52
+ RPC_ENTRY RPC_FORWARD_FUNCTION(
53
+ IN UUID __RPC_FAR * InterfaceId,
54
+ IN RPC_VERSION __RPC_FAR * InterfaceVersion,
55
+ IN UUID __RPC_FAR * ObjectId,
56
+ IN unsigned char __RPC_FAR * Rpcpro,
57
+ IN void __RPC_FAR * __RPC_FAR * ppDestEndpoint);
58
+
59
+ enum RPC_ADDRESS_CHANGE_TYPE
60
+ {
61
+ PROTOCOL_NOT_LOADED = 1,
62
+ PROTOCOL_LOADED,
63
+ PROTOCOL_ADDRESS_CHANGE
64
+ };
65
+
66
+ typedef void
67
+ RPC_ENTRY RPC_ADDRESS_CHANGE_FN(
68
+ IN void * arg
69
+ );
70
+
71
+
72
+ #pragma endregion
73
+
74
+ #pragma region Application Family or OneCore Family
75
+
76
+
77
+ #define RPC_CONTEXT_HANDLE_DEFAULT_GUARD ((void *)(ULONG_PTR)0xFFFFF00D)
78
+
79
+ #define RPC_CONTEXT_HANDLE_DEFAULT_FLAGS 0x00000000UL
80
+ #define RPC_CONTEXT_HANDLE_FLAGS 0x30000000UL
81
+ #define RPC_CONTEXT_HANDLE_SERIALIZE 0x10000000UL
82
+ #define RPC_CONTEXT_HANDLE_DONT_SERIALIZE 0x20000000UL
83
+ #if (NTDDI_VERSION >= NTDDI_VISTA)
84
+ #define RPC_TYPE_STRICT_CONTEXT_HANDLE 0x40000000UL
85
+ #endif
86
+
87
+
88
+ #define RPC_NCA_FLAGS_DEFAULT 0x00000000 /* 0b000...000 */
89
+ #define RPC_NCA_FLAGS_IDEMPOTENT 0x00000001 /* 0b000...001 */
90
+ #define RPC_NCA_FLAGS_BROADCAST 0x00000002 /* 0b000...010 */
91
+ #define RPC_NCA_FLAGS_MAYBE 0x00000004 /* 0b000...100 */
92
+
93
+ #if (NTDDI_VERSION >= NTDDI_VISTA)
94
+ #define RPCFLG_HAS_GUARANTEE 0x00000010UL
95
+ #endif
96
+
97
+ #define RPCFLG_WINRT_REMOTE_ASYNC 0x00000020UL
98
+
99
+
100
+ #define RPC_BUFFER_COMPLETE 0x00001000 /* used by pipes */
101
+ #define RPC_BUFFER_PARTIAL 0x00002000 /* used by pipes */
102
+ #define RPC_BUFFER_EXTRA 0x00004000 /* used by pipes */
103
+ #define RPC_BUFFER_ASYNC 0x00008000 /* used by async rpc */
104
+ #define RPC_BUFFER_NONOTIFY 0x00010000 /* used by async pipes */
105
+
106
+ #define RPCFLG_MESSAGE 0x01000000UL
107
+ #define RPCFLG_AUTO_COMPLETE 0x08000000UL
108
+ #define RPCFLG_LOCAL_CALL 0x10000000UL
109
+ #define RPCFLG_INPUT_SYNCHRONOUS 0x20000000UL
110
+ #define RPCFLG_ASYNCHRONOUS 0x40000000UL
111
+ #define RPCFLG_NON_NDR 0x80000000UL
112
+
113
+ #if (NTDDI_VERSION >= NTDDI_WINXP)
114
+ #define RPCFLG_HAS_MULTI_SYNTAXES 0x02000000UL
115
+ #define RPCFLG_HAS_CALLBACK 0x04000000UL
116
+ #endif
117
+
118
+ #if (NTDDI_VERSION >= NTDDI_VISTA)
119
+ #define RPCFLG_ACCESSIBILITY_BIT1 0x00100000UL
120
+ #define RPCFLG_ACCESSIBILITY_BIT2 0x00200000UL
121
+ #define RPCFLG_ACCESS_LOCAL 0x00400000UL
122
+
123
+ #define NDR_CUSTOM_OR_DEFAULT_ALLOCATOR 0x10000000UL
124
+ #define NDR_DEFAULT_ALLOCATOR 0x20000000UL
125
+ #endif
126
+
127
+ #if (NTDDI_VERSION >= NTDDI_WIN8)
128
+ #define RPCFLG_NDR64_CONTAINS_ARM_LAYOUT 0x04000000UL
129
+ #endif
130
+
131
+ #if (NTDDI_VERSION >= NTDDI_WINBLUE)
132
+
133
+
134
+ #define RPCFLG_SENDER_WAITING_FOR_REPLY 0x00800000UL
135
+
136
+ #endif
137
+
138
+ #define RPC_FLAGS_VALID_BIT 0x00008000
139
+
140
+ typedef void *RPC_DISPATCH_FUNCTION;
141
+ typedef struct {
142
+ unsigned int DispatchTableCount;
143
+ RPC_DISPATCH_FUNCTION __RPC_FAR * DispatchTable;
144
+ LONG_PTR Reserved;
145
+ } RPC_DISPATCH_TABLE, __RPC_FAR * PRPC_DISPATCH_TABLE;
146
+
147
+ typedef struct _RPC_PROTSEQ_ENDPOINT
148
+ {
149
+ unsigned char __RPC_FAR * RpcProtocolSequence;
150
+ unsigned char __RPC_FAR * Endpoint;
151
+ } RPC_PROTSEQ_ENDPOINT, __RPC_FAR * PRPC_PROTSEQ_ENDPOINT;
152
+
153
+
154
+ #define NT351_INTERFACE_SIZE 0x40
155
+ #define RPC_INTERFACE_HAS_PIPES 0x0001
156
+
157
+ typedef struct _RPC_SERVER_INTERFACE
158
+ {
159
+ unsigned int Length;
160
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
161
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
162
+ PRPC_DISPATCH_TABLE DispatchTable;
163
+ unsigned int RpcProtseqEndpointCount;
164
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
165
+ RPC_MGR_EPV __RPC_FAR *DefaultManagerEpv;
166
+ void const __RPC_FAR *InterpreterInfo;
167
+ unsigned int Flags ;
168
+ } RPC_SERVER_INTERFACE, __RPC_FAR * PRPC_SERVER_INTERFACE;
169
+
170
+ typedef struct _RPC_CLIENT_INTERFACE
171
+ {
172
+ unsigned int Length;
173
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
174
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
175
+ PRPC_DISPATCH_TABLE DispatchTable;
176
+ unsigned int RpcProtseqEndpointCount;
177
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
178
+ ULONG_PTR Reserved;
179
+ void const __RPC_FAR * InterpreterInfo;
180
+ unsigned int Flags ;
181
+ } RPC_CLIENT_INTERFACE, __RPC_FAR * PRPC_CLIENT_INTERFACE;
182
+
183
+
184
+ #pragma endregion
185
+
186
+
187
+ #endif