ReactOS 0.4.16-dev-1946-g52006dd
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
26#ifdef RPC_NO_WINDOWS_H
27# include <windef.h>
28#endif
29
30#ifdef __RPC_WIN64__
31# include <pshpack8.h>
32#endif
33
35{
38 void* Head;
40
42{
51
52#define MaxNumberOfEEInfoParams 4
53#define RPC_EEINFO_VERSION 1
54
55typedef struct tagBinaryParam
56{
57 void *Buffer;
58 short Size;
60
62{
64 union
65 {
69 short SVal;
72 } u;
74
75#define EEInfoPreviousRecordsMissing 0x1
76#define EEInfoNextRecordsMissing 0x2
77#define EEInfoUseFileTime 0x4
78
79#define EEInfoGCCOM 11
80#define EEInfoGCFRS 12
81
83{
87 union
88 {
91 } u;
99
100#define RPC_ASYNC_VERSION_1_0 sizeof(RPC_ASYNC_STATE)
101
103{
111
113{
120
121struct _RPC_ASYNC_STATE;
122
125
127{
128 struct
129 {
133 struct
134 {
140 struct
141 {
148
149#define RPC_C_NOTIFY_ON_SEND_COMPLETE 0x1
150#define RPC_C_INFINITE_TIMEOUT INFINITE
151
152typedef struct _RPC_ASYNC_STATE
153{
154 unsigned int Size;
158 void *StubInfo;
159 void *UserInfo;
166
167#define RpcAsyncGetCallHandle(async) (((PRPC_ASYNC_STATE)async)->RuntimeInfo)
168
169#ifdef __RPC_WIN64__
170# include <poppack.h>
171#endif
172
173#ifdef __cplusplus
174extern "C" {
175#endif
176
197
201
202#ifdef __cplusplus
203}
204#endif
205
206#ifdef _MSC_VER
207#pragma warning(pop)
208#endif
209
210#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:123
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:1973
RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncSetHandle(PRPC_MESSAGE, PRPC_ASYNC_STATE)
Definition: rpc_message.c:1945
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncRegisterInfo(PRPC_ASYNC_STATE)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration(RPC_ERROR_ENUM_HANDLE *)
Definition: rpcrt4_main.c:921
RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncAbortCall(PRPC_ASYNC_STATE, ULONG)
Definition: rpc_async.c:144
_RPC_NOTIFICATION_TYPES
Definition: rpcasync.h:103
@ RpcNotificationTypeIoc
Definition: rpcasync.h:107
@ RpcNotificationTypeHwnd
Definition: rpcasync.h:108
@ RpcNotificationTypeApc
Definition: rpcasync.h:106
@ RpcNotificationTypeEvent
Definition: rpcasync.h:105
@ RpcNotificationTypeNone
Definition: rpcasync.h:104
@ RpcNotificationTypeCallback
Definition: rpcasync.h:109
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:912
enum tagExtendedErrorParamTypes ExtendedErrorParamTypes
_RPC_ASYNC_EVENT
Definition: rpcasync.h:113
@ RpcCallComplete
Definition: rpcasync.h:114
@ RpcClientCancel
Definition: rpcasync.h:118
@ RpcClientDisconnect
Definition: rpcasync.h:117
@ RpcSendComplete
Definition: rpcasync.h:115
@ RpcReceiveComplete
Definition: rpcasync.h:116
tagExtendedErrorParamTypes
Definition: rpcasync.h:42
@ eeptLongVal
Definition: rpcasync.h:45
@ eeptUnicodeString
Definition: rpcasync.h:44
@ eeptAnsiString
Definition: rpcasync.h:43
@ eeptNone
Definition: rpcasync.h:48
@ eeptBinary
Definition: rpcasync.h:49
@ eeptPointerVal
Definition: rpcasync.h:47
@ eeptShortVal
Definition: rpcasync.h:46
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:52
RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord(RPC_ERROR_ENUM_HANDLE *, BOOL, RPC_EXTENDED_ERROR_INFO *)
Definition: rpcrt4_main.c:948
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:124
#define RPC_ENTRY
Definition: rpc.h:63
long RPC_STATUS
Definition: rpc.h:48
#define RPCRTAPI
Definition: rpc.h:78
void * StubInfo
Definition: rpcasync.h:158
void * UserInfo
Definition: rpcasync.h:159
RPC_ASYNC_NOTIFICATION_INFO u
Definition: rpcasync.h:163
RPC_NOTIFICATION_TYPES NotificationType
Definition: rpcasync.h:162
RPC_ASYNC_EVENT Event
Definition: rpcasync.h:161
unsigned int Size
Definition: rpcasync.h:154
void * RuntimeInfo
Definition: rpcasync.h:160
short Size
Definition: rpcasync.h:58
void * Buffer
Definition: rpcasync.h:57
ExtendedErrorParamTypes ParameterType
Definition: rpcasync.h:63
BinaryParam BVal
Definition: rpcasync.h:71
union tagRPC_EE_INFO_PARAM::@3409 u
ULONGLONG PVal
Definition: rpcasync.h:70
LPWSTR UnicodeString
Definition: rpcasync.h:67
union tagRPC_EXTENDED_ERROR_INFO::@3410 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::@3412 IOC
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine
Definition: rpcasync.h:130
struct _RPC_ASYNC_NOTIFICATION_INFO::@3411 APC
struct _RPC_ASYNC_NOTIFICATION_INFO::@3413 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
WCHAR * LPWSTR
Definition: xmlstorage.h:184
char * LPSTR
Definition: xmlstorage.h:182