ReactOS  0.4.14-dev-317-g96040ec
rpcasync.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007 Francois Gouget
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 #ifndef __WINE_RPCASYNC_H
19 #define __WINE_RPCASYNC_H
20 
21 #ifdef _MSC_VER
22 #pragma warning(push)
23 #pragma warning(disable:4820)
24 #endif
25 
27 {
29  void* CurrentPos;
30  void* Head;
32 
34 {
43 
44 #define MaxNumberOfEEInfoParams 4
45 #define RPC_EEINFO_VERSION 1
46 
47 typedef struct tagBinaryParam
48 {
49  void *Buffer;
50  short Size;
51 } BinaryParam;
52 
53 typedef struct tagRPC_EE_INFO_PARAM
54 {
56  union
57  {
61  short SVal;
64  } u;
66 
67 #define EEInfoPreviousRecordsMissing 0x1
68 #define EEInfoNextRecordsMissing 0x2
69 #define EEInfoUseFileTime 0x4
70 
71 #define EEInfoGCCOM 11
72 #define EEInfoGCFRS 12
73 
75 {
79  union
80  {
83  } u;
91 
92 #define RPC_ASYNC_VERSION_1_0 sizeof(RPC_ASYNC_STATE)
93 
95 {
103 
104 typedef enum _RPC_ASYNC_EVENT
105 {
112 
113 struct _RPC_ASYNC_STATE;
114 
117 
119 {
120  struct
121  {
124  } APC;
125  struct
126  {
131  } IOC;
132  struct
133  {
136  } HWND;
140 
141 #define RPC_C_NOTIFY_ON_SEND_COMPLETE 0x1
142 #define RPC_C_INFINITE_TIMEOUT INFINITE
143 
144 typedef struct _RPC_ASYNC_STATE
145 {
146  unsigned int Size;
150  void *StubInfo;
151  void *UserInfo;
152  void *RuntimeInfo;
158 
159 #define RpcAsyncGetCallHandle(async) (((PRPC_ASYNC_STATE)async)->RuntimeInfo)
160 
161 #ifdef __cplusplus
162 extern "C" {
163 #endif
164 
185 
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #ifdef _MSC_VER
195 #pragma warning(pop)
196 #endif
197 
198 #endif
void RPC_ENTRY RPCNOTIFICATION_ROUTINE(struct _RPC_ASYNC_STATE *, void *, RPC_ASYNC_EVENT)
Definition: rpcasync.h:115
RPC_NOTIFICATION_TYPES NotificationType
Definition: rpcasync.h:154
struct tagRPC_EXTENDED_ERROR_INFO RPC_EXTENDED_ERROR_INFO
_RPC_ASYNC_EVENT
Definition: rpcasync.h:104
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine
Definition: rpcasync.h:122
tagExtendedErrorParamTypes
Definition: rpcasync.h:33
RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockExclusive(RPC_BINDING_HANDLE, PVOID)
union _RPC_ASYNC_NOTIFICATION_INFO * PRPC_ASYNC_NOTIFICATION_INFO
void * RuntimeInfo
Definition: rpcasync.h:152
struct _RPC_ASYNC_STATE * PRPC_ASYNC_STATE
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCleanupThread(DWORD)
RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncAbortCall(PRPC_ASYNC_STATE, ULONG)
Definition: rpc_message.c:1977
char * LPSTR
Definition: xmlstorage.h:182
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorAddRecord(RPC_EXTENDED_ERROR_INFO *)
union tagRPC_EXTENDED_ERROR_INFO::@3104 u
#define MaxNumberOfEEInfoParams
Definition: rpcasync.h:44
struct tagRPC_EE_INFO_PARAM RPC_EE_INFO_PARAM
ULONGLONG PVal
Definition: rpcasync.h:62
long RPC_STATUS
Definition: rpc.h:52
ExtendedErrorParamTypes ParameterType
Definition: rpcasync.h:55
void * StubInfo
Definition: rpcasync.h:150
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
#define RPCRTAPI
Definition: rpc.h:82
RPC_ASYNC_NOTIFICATION_INFO u
Definition: rpcasync.h:155
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
RPCNOTIFICATION_ROUTINE * PFN_RPCNOTIFICATION_ROUTINE
Definition: rpcasync.h:116
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncAbortCall(PRPC_ASYNC_STATE, ULONG)
Definition: rpc_async.c:136
struct _RPC_ASYNC_NOTIFICATION_INFO::@3106 IOC
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorSaveErrorInfo(RPC_ERROR_ENUM_HANDLE *, PVOID *, SIZE_T *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNumberOfRecords(RPC_ERROR_ENUM_HANDLE *, int *)
LPWSTR UnicodeString
Definition: rpcasync.h:59
enum tagExtendedErrorParamTypes ExtendedErrorParamTypes
struct tagRPC_ERROR_ENUM_HANDLE RPC_ERROR_ENUM_HANDLE
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncRegisterInfo(PRPC_ASYNC_STATE)
unsigned int Size
Definition: rpcasync.h:146
uint64_t ULONGLONG
Definition: typedefs.h:65
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord(RPC_ERROR_ENUM_HANDLE *, BOOL, RPC_EXTENDED_ERROR_INFO *)
Definition: rpcrt4_main.c:918
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCompleteCall(PRPC_ASYNC_STATE, void *)
Definition: rpc_async.c:111
unsigned long DWORD
Definition: ntddk_ex.h:95
RPCRTAPI RPC_STATUS RPC_ENTRY RpcFreeAuthorizationContext(PVOID *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCancelCall(PRPC_ASYNC_STATE, BOOL)
Definition: rpc_async.c:156
short Size
Definition: rpcasync.h:50
uint32_t DWORD_PTR
Definition: typedefs.h:63
ULONG_PTR SIZE_T
Definition: typedefs.h:78
enum _RPC_NOTIFICATION_TYPES RPC_NOTIFICATION_TYPES
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration(RPC_ERROR_ENUM_HANDLE *)
Definition: rpcrt4_main.c:882
unsigned short USHORT
Definition: pedump.c:61
#define RPC_ENTRY
Definition: rpc.h:67
enum _RPC_ASYNC_EVENT RPC_ASYNC_EVENT
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int UINT
Definition: ndis.h:50
RPCRTAPI int RPC_ENTRY I_RpcExceptionFilter(ULONG)
BinaryParam BVal
Definition: rpcasync.h:63
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncGetCallStatus(PRPC_ASYNC_STATE)
Definition: rpc_async.c:92
RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncSetHandle(PRPC_MESSAGE, PRPC_ASYNC_STATE)
Definition: rpc_message.c:1949
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorResetEnumeration(RPC_ERROR_ENUM_HANDLE *)
RPC_EE_INFO_PARAM Parameters[MaxNumberOfEEInfoParams]
Definition: rpcasync.h:89
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorLoadErrorInfo(PVOID, SIZE_T, RPC_ERROR_ENUM_HANDLE *)
unsigned int ULONG
Definition: retypes.h:1
RPC_ASYNC_EVENT Event
Definition: rpcasync.h:153
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration(RPC_ERROR_ENUM_HANDLE *)
Definition: rpcrt4_main.c:891
struct _RPC_ASYNC_NOTIFICATION_INFO::@3105 APC
RPCRTAPI RPC_STATUS RPC_ENTRY RpcGetAuthorizationContextForClient(RPC_BINDING_HANDLE, BOOL, LPVOID, PLARGE_INTEGER, LUID, DWORD, PVOID, PVOID *)
_RPC_NOTIFICATION_TYPES
Definition: rpcasync.h:94
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorClearInformation(void)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockShared(RPC_BINDING_HANDLE, PVOID)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncInitializeHandle(PRPC_ASYNC_STATE, unsigned int)
Definition: rpc_async.c:57
WCHAR * LPWSTR
Definition: xmlstorage.h:184
union tagRPC_EE_INFO_PARAM::@3103 u
struct tagBinaryParam BinaryParam
void * Buffer
Definition: rpcasync.h:49
struct _RPC_ASYNC_STATE RPC_ASYNC_STATE
struct _RPC_ASYNC_NOTIFICATION_INFO::@3107 HWND
union _RPC_ASYNC_NOTIFICATION_INFO RPC_ASYNC_NOTIFICATION_INFO
void * UserInfo
Definition: rpcasync.h:151