ReactOS 0.4.15-dev-7924-g5949c20
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{
30 void* Head;
32
34{
43
44#define MaxNumberOfEEInfoParams 4
45#define RPC_EEINFO_VERSION 1
46
47typedef struct tagBinaryParam
48{
49 void *Buffer;
50 short Size;
52
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
105{
112
113struct _RPC_ASYNC_STATE;
114
117
119{
120 struct
121 {
125 struct
126 {
132 struct
133 {
140
141#define RPC_C_NOTIFY_ON_SEND_COMPLETE 0x1
142#define RPC_C_INFINITE_TIMEOUT INFINITE
143
144typedef struct _RPC_ASYNC_STATE
145{
146 unsigned int Size;
150 void *StubInfo;
151 void *UserInfo;
158
159#define RpcAsyncGetCallHandle(async) (((PRPC_ASYNC_STATE)async)->RuntimeInfo)
160
161#ifdef __cplusplus
162extern "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
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int UINT
Definition: ndis.h:50
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorAddRecord(RPC_EXTENDED_ERROR_INFO *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCancelCall(PRPC_ASYNC_STATE, BOOL)
Definition: rpc_async.c:164
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCompleteCall(PRPC_ASYNC_STATE, void *)
Definition: rpc_async.c:111
void RPC_ENTRY RPCNOTIFICATION_ROUTINE(struct _RPC_ASYNC_STATE *, void *, RPC_ASYNC_EVENT)
Definition: rpcasync.h:115
struct tagBinaryParam BinaryParam
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorClearInformation(void)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNumberOfRecords(RPC_ERROR_ENUM_HANDLE *, int *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorLoadErrorInfo(PVOID, SIZE_T, RPC_ERROR_ENUM_HANDLE *)
RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncAbortCall(PRPC_ASYNC_STATE, ULONG)
Definition: rpc_message.c:1977
RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncSetHandle(PRPC_MESSAGE, PRPC_ASYNC_STATE)
Definition: rpc_message.c:1949
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncRegisterInfo(PRPC_ASYNC_STATE)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration(RPC_ERROR_ENUM_HANDLE *)
Definition: rpcrt4_main.c:890
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncAbortCall(PRPC_ASYNC_STATE, ULONG)
Definition: rpc_async.c:144
_RPC_NOTIFICATION_TYPES
Definition: rpcasync.h:95
@ RpcNotificationTypeIoc
Definition: rpcasync.h:99
@ RpcNotificationTypeHwnd
Definition: rpcasync.h:100
@ RpcNotificationTypeApc
Definition: rpcasync.h:98
@ RpcNotificationTypeEvent
Definition: rpcasync.h:97
@ RpcNotificationTypeNone
Definition: rpcasync.h:96
@ RpcNotificationTypeCallback
Definition: rpcasync.h:101
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorSaveErrorInfo(RPC_ERROR_ENUM_HANDLE *, PVOID *, SIZE_T *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorResetEnumeration(RPC_ERROR_ENUM_HANDLE *)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCleanupThread(DWORD)
struct _RPC_ASYNC_STATE RPC_ASYNC_STATE
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncGetCallStatus(PRPC_ASYNC_STATE)
Definition: rpc_async.c:92
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncInitializeHandle(PRPC_ASYNC_STATE, unsigned int)
Definition: rpc_async.c:57
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration(RPC_ERROR_ENUM_HANDLE *)
Definition: rpcrt4_main.c:881
enum tagExtendedErrorParamTypes ExtendedErrorParamTypes
_RPC_ASYNC_EVENT
Definition: rpcasync.h:105
@ RpcCallComplete
Definition: rpcasync.h:106
@ RpcClientCancel
Definition: rpcasync.h:110
@ RpcClientDisconnect
Definition: rpcasync.h:109
@ RpcSendComplete
Definition: rpcasync.h:107
@ RpcReceiveComplete
Definition: rpcasync.h:108
tagExtendedErrorParamTypes
Definition: rpcasync.h:34
@ eeptLongVal
Definition: rpcasync.h:37
@ eeptUnicodeString
Definition: rpcasync.h:36
@ eeptAnsiString
Definition: rpcasync.h:35
@ eeptNone
Definition: rpcasync.h:40
@ eeptBinary
Definition: rpcasync.h:41
@ eeptPointerVal
Definition: rpcasync.h:39
@ eeptShortVal
Definition: rpcasync.h:38
RPCRTAPI int RPC_ENTRY I_RpcExceptionFilter(ULONG)
enum _RPC_ASYNC_EVENT RPC_ASYNC_EVENT
RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockShared(RPC_BINDING_HANDLE, PVOID)
#define MaxNumberOfEEInfoParams
Definition: rpcasync.h:44
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord(RPC_ERROR_ENUM_HANDLE *, BOOL, RPC_EXTENDED_ERROR_INFO *)
Definition: rpcrt4_main.c:917
RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockExclusive(RPC_BINDING_HANDLE, PVOID)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcGetAuthorizationContextForClient(RPC_BINDING_HANDLE, BOOL, LPVOID, PLARGE_INTEGER, LUID, DWORD, PVOID, PVOID *)
struct tagRPC_ERROR_ENUM_HANDLE RPC_ERROR_ENUM_HANDLE
RPCRTAPI RPC_STATUS RPC_ENTRY RpcFreeAuthorizationContext(PVOID *)
union _RPC_ASYNC_NOTIFICATION_INFO * PRPC_ASYNC_NOTIFICATION_INFO
struct tagRPC_EXTENDED_ERROR_INFO RPC_EXTENDED_ERROR_INFO
struct _RPC_ASYNC_STATE * PRPC_ASYNC_STATE
enum _RPC_NOTIFICATION_TYPES RPC_NOTIFICATION_TYPES
union _RPC_ASYNC_NOTIFICATION_INFO RPC_ASYNC_NOTIFICATION_INFO
struct tagRPC_EE_INFO_PARAM RPC_EE_INFO_PARAM
RPCNOTIFICATION_ROUTINE * PFN_RPCNOTIFICATION_ROUTINE
Definition: rpcasync.h:116
#define RPC_ENTRY
Definition: rpc.h:67
long RPC_STATUS
Definition: rpc.h:52
#define RPCRTAPI
Definition: rpc.h:82
void * StubInfo
Definition: rpcasync.h:150
void * UserInfo
Definition: rpcasync.h:151
RPC_ASYNC_NOTIFICATION_INFO u
Definition: rpcasync.h:155
RPC_NOTIFICATION_TYPES NotificationType
Definition: rpcasync.h:154
RPC_ASYNC_EVENT Event
Definition: rpcasync.h:153
unsigned int Size
Definition: rpcasync.h:146
void * RuntimeInfo
Definition: rpcasync.h:152
short Size
Definition: rpcasync.h:50
void * Buffer
Definition: rpcasync.h:49
ExtendedErrorParamTypes ParameterType
Definition: rpcasync.h:55
BinaryParam BVal
Definition: rpcasync.h:63
ULONGLONG PVal
Definition: rpcasync.h:62
LPWSTR UnicodeString
Definition: rpcasync.h:59
union tagRPC_EE_INFO_PARAM::@3217 u
union tagRPC_EXTENDED_ERROR_INFO::@3218 u
uint32_t DWORD_PTR
Definition: typedefs.h:65
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
struct _RPC_ASYNC_NOTIFICATION_INFO::@3219 APC
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine
Definition: rpcasync.h:122
struct _RPC_ASYNC_NOTIFICATION_INFO::@3220 IOC
struct _RPC_ASYNC_NOTIFICATION_INFO::@3221 HWND
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
char * LPSTR
Definition: xmlstorage.h:182
WCHAR * LPWSTR
Definition: xmlstorage.h:184