File Index Symbol Index

#include <winapifamily.h>
/*++ Copyright (c) Microsoft Corporation. All rights reserved. Module Name: rpcdcep.h Abstract: This module contains the private RPC runtime APIs for use by the stubs and by support libraries. Applications must not call these routines. --*/
//@[contract("rpcdcep"), comment("MVI_tracked - https://osgwiki.com/wiki/Microsoft_Virus_Initiative")];
#ifndef __RPCDCEP_H__
#define __RPCDCEP_H__
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
#if _MSC_VER >= 1200
#pragma warning(push) #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef
struct
_RPC_VERSION
{
unsigned
short
MajorVersion
;
unsigned
short
MinorVersion
; }
RPC_VERSION
;
typedef
struct
_RPC_SYNTAX_IDENTIFIER
{
GUID
SyntaxGUID
;
RPC_VERSION
SyntaxVersion
;
typedef
struct
_RPC_MESSAGE
{
RPC_BINDING_HANDLE
Handle
;
unsigned
long
DataRepresentation
;
unsigned
int
BufferLength
;
unsigned
int
ProcNum
;
PRPC_SYNTAX_IDENTIFIER
TransferSyntax
;
unsigned
long
RpcFlags
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef
RPC_STATUS
enum
RPC_ADDRESS_CHANGE_TYPE
{
PROTOCOL_NOT_LOADED
=
1
,
PROTOCOL_LOADED
,
PROTOCOL_ADDRESS_CHANGE
};
typedef
void
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* * New context handle flavors. */
#define RPC_CONTEXT_HANDLE_DEFAULT_GUARD ((void *)(ULONG_PTR)0xFFFFF00D)
#define RPC_CONTEXT_HANDLE_DEFAULT_FLAGS 0x00000000UL
#define RPC_CONTEXT_HANDLE_FLAGS 0x30000000UL
#define RPC_CONTEXT_HANDLE_SERIALIZE 0x10000000UL
#define RPC_CONTEXT_HANDLE_DONT_SERIALIZE 0x20000000UL
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define RPC_TYPE_STRICT_CONTEXT_HANDLE 0x40000000UL #endif // (NTDDI_VERSION >= NTDDI_VISTA)
/* * Types of function calls for datagram rpc */
#define RPC_NCA_FLAGS_DEFAULT 0x00000000 /* 0b000...000 */
#define RPC_NCA_FLAGS_IDEMPOTENT 0x00000001 /* 0b000...001 */
#define RPC_NCA_FLAGS_BROADCAST 0x00000002 /* 0b000...010 */
#define RPC_NCA_FLAGS_MAYBE 0x00000004 /* 0b000...100 */
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define RPCFLG_HAS_GUARANTEE 0x00000010UL #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#define RPCFLG_WINRT_REMOTE_ASYNC 0x00000020UL
/* Flags used in RpcFlag field of RPC_MESSAGE structure */
#define RPC_BUFFER_COMPLETE 0x00001000 /* used by pipes */
#define RPC_BUFFER_PARTIAL 0x00002000 /* used by pipes */
#define RPC_BUFFER_EXTRA 0x00004000 /* used by pipes */
#define RPC_BUFFER_ASYNC 0x00008000 /* used by async rpc */
#define RPC_BUFFER_NONOTIFY 0x00010000 /* used by async pipes */
#define RPCFLG_MESSAGE 0x01000000UL
#define RPCFLG_AUTO_COMPLETE 0x08000000UL
#define RPCFLG_LOCAL_CALL 0x10000000UL
#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000UL
#define RPCFLG_ASYNCHRONOUS 0x40000000UL
#define RPCFLG_NON_NDR 0x80000000UL
#if (NTDDI_VERSION >= NTDDI_WINXP)
#define RPCFLG_HAS_MULTI_SYNTAXES 0x02000000UL
#define RPCFLG_HAS_CALLBACK 0x04000000UL #endif // (NTDDI_VERSION >= NTDDI_WXP)
#if (NTDDI_VERSION >= NTDDI_VISTA)
// These two bits will hold the combination of
// anonymous/admin/authenticate/mixed mode
#define RPCFLG_ACCESSIBILITY_BIT1 0x00100000UL
#define RPCFLG_ACCESSIBILITY_BIT2 0x00200000UL
#define RPCFLG_ACCESS_LOCAL 0x00400000UL
// This goes to MIDL_STUB_DESC only
#define NDR_CUSTOM_OR_DEFAULT_ALLOCATOR 0x10000000UL
#define NDR_DEFAULT_ALLOCATOR 0x20000000UL #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (NTDDI_VERSION >= NTDDI_WIN8)
// NDR64 on ARM includes ARM parameter layout info
#define RPCFLG_NDR64_CONTAINS_ARM_LAYOUT 0x04000000UL #endif
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
/* * Used by COM to inform RPC that even though this is an * async RPC call, there is a thread waiting for the call * to complete. Essentially, from COM perspective, this is a * sync call. This flag will be passed down to ALPC in order * to count the wake charges properly. */
#define RPCFLG_SENDER_WAITING_FOR_REPLY 0x00800000UL
#endif // (NTDDI_VERSION >= NTDDI_WINBLUE)
#define RPC_FLAGS_VALID_BIT 0x00008000
typedef
void
);
typedef
struct
{
unsigned
int
DispatchTableCount
;
LONG_PTR
Reserved
;
typedef
struct
_RPC_PROTSEQ_ENDPOINT
{
/* Both of these types MUST start with the InterfaceId and TransferSyntax. Look at RpcIfInqId and I_RpcIfInqTransferSyntaxes to see why. */
#define NT351_INTERFACE_SIZE 0x40
#define RPC_INTERFACE_HAS_PIPES 0x0001
typedef
struct
_RPC_SERVER_INTERFACE
{
unsigned
int
Length
;
RPC_SYNTAX_IDENTIFIER
InterfaceId
;
RPC_SYNTAX_IDENTIFIER
TransferSyntax
;
PRPC_DISPATCH_TABLE
DispatchTable
;
unsigned
int
RpcProtseqEndpointCount
;
PRPC_PROTSEQ_ENDPOINT
RpcProtseqEndpoint
;
unsigned
int
Flags
;
typedef
struct
_RPC_CLIENT_INTERFACE
{
unsigned
int
Length
;
RPC_SYNTAX_IDENTIFIER
InterfaceId
;
RPC_SYNTAX_IDENTIFIER
TransferSyntax
;
PRPC_DISPATCH_TABLE
DispatchTable
;
unsigned
int
RpcProtseqEndpointCount
;
PRPC_PROTSEQ_ENDPOINT
RpcProtseqEndpoint
;
ULONG_PTR
Reserved
;
unsigned
int
Flags
;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (NTDDI_VERSION >= NTDDI_WINXP)
RPC_STATUS
I_RpcNegotiateTransferSyntax
( );
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
_Must_inspect_result_
RPC_STATUS
I_RpcGetBuffer
( );
RPC_STATUS
I_RpcGetBufferWithObject
( );
_Must_inspect_result_
RPC_STATUS
I_RpcSendReceive
( );
_Must_inspect_result_
RPC_STATUS
I_RpcFreeBuffer
( );
_Must_inspect_result_
RPC_STATUS
I_RpcSend
( );
_Must_inspect_result_
RPC_STATUS
I_RpcReceive
( );
_Must_inspect_result_
RPC_STATUS
I_RpcFreePipeBuffer
( );
_Must_inspect_result_
RPC_STATUS
I_RpcReallocPipeBuffer
(
unsigned
int
NewSize
);
typedef
void
*
I_RPC_MUTEX
;
void
I_RpcRequestMutex
( );
void
I_RpcClearMutex
( );
void
I_RpcDeleteMutex
( );
I_RpcAllocate
( );
void
I_RpcFree
( );
#define RPC_SYSTEM_HANDLE_FREE_UNRETRIEVED 1
#define RPC_SYSTEM_HANDLE_FREE_RETRIEVED 2
#define RPC_SYSTEM_HANDLE_FREE_ALL 3
#define RPC_SYSTEM_HANDLE_FREE_ERROR_ON_CLOSE 4
unsigned
long
I_RpcFreeSystemHandleCollection
( );
RPC_STATUS
I_RpcSetSystemHandle
( );
RPC_STATUS
I_RpcGetSystemHandle
( );
void
I_RpcFreeSystemHandle
( );
void
I_RpcPauseExecution
( );
RPC_STATUS
I_RpcGetExtendedError
(
void
);
typedef
enum
_LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION
{
MarshalDirectionMarshal
,
MarshalDirectionUnmarshal
}
LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION
;
RPC_STATUS
I_RpcSystemHandleTypeSpecificWork
( );
typedef
void
);
_Must_inspect_result_
RPC_STATUS
I_RpcMonitorAssociation
( );
_Must_inspect_result_
RPC_STATUS
I_RpcStopMonitorAssociation
( );
RPC_BINDING_HANDLE
I_RpcGetCurrentCallHandle
(
void
);
_Must_inspect_result_
RPC_STATUS
I_RpcGetAssociationContext
( );
void
*
I_RpcGetServerContextList
( );
void
I_RpcSetServerContextList
( );
RPC_STATUS
I_RpcNsInterfaceExported
( );
RPC_STATUS
I_RpcNsInterfaceUnexported
( );
RPC_STATUS
I_RpcBindingToStaticStringBindingW
( );
RPC_STATUS
I_RpcBindingInqSecurityContext
( );
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef
struct
_RPC_SEC_CONTEXT_KEY_INFO
{
unsigned
long
EncryptAlgorithm
;
unsigned
long
KeySize
;
unsigned
long
SignatureAlgorithm
; }
RPC_SEC_CONTEXT_KEY_INFO
, *
PRPC_SEC_CONTEXT_KEY_INFO
;
RPC_STATUS
I_RpcBindingInqSecurityContextKeyInfo
( );
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
RPC_STATUS
I_RpcBindingInqWireIdForSnego
( );
#if (NTDDI_VERSION >= NTDDI_WS03)
RPC_STATUS
I_RpcBindingInqMarshalledTargetInfo
( );
#endif // (NTDDI_VERSION >= NTDDI_WS03)
#if (NTDDI_VERSION >= NTDDI_WINXP)
RPC_STATUS
I_RpcBindingInqLocalClientPID
( );
RPC_STATUS
I_RpcBindingHandleToAsyncHandle
( );
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
#ifdef RPC_UNICODE_SUPPORTED
_Must_inspect_result_
RPC_STATUS
I_RpcNsBindingSetEntryNameW
( );
_Must_inspect_result_
RPC_STATUS
I_RpcNsBindingSetEntryNameA
( );
RPC_STATUS
I_RpcServerUseProtseqEp2A
( );
RPC_STATUS
I_RpcServerUseProtseqEp2W
( );
RPC_STATUS
I_RpcServerUseProtseq2W
( );
RPC_STATUS
I_RpcServerUseProtseq2A
( );
#ifdef UNICODE
#define I_RpcNsBindingSetEntryName I_RpcNsBindingSetEntryNameW
#define I_RpcServerUseProtseqEp2 I_RpcServerUseProtseqEp2W
#define I_RpcServerUseProtseq2 I_RpcServerUseProtseq2W
#else
#define I_RpcNsBindingSetEntryName I_RpcNsBindingSetEntryNameA
#define I_RpcServerUseProtseqEp2 I_RpcServerUseProtseqEp2A
#define I_RpcServerUseProtseq2 I_RpcServerUseProtseq2A #endif
#else
RPCRTAPI
RPC_STATUS
RPC_ENTRY
I_RpcNsBindingSetEntryName (
_In_ RPC_BINDING_HANDLE Binding,
_In_ unsigned long EntryNameSyntax,
_In_ RPC_CSTR EntryName
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
I_RpcServerUseProtseq2 (
_In_ RPC_CSTR NetworkAddress,
_In_ RPC_CSTR Protseq,
_In_ unsigned int MaxCalls,
_In_ void __RPC_FAR * SecurityDescriptor,
_In_ void * Policy
);
RPCRTAPI
RPC_STATUS
RPC_ENTRY
I_RpcServerUseProtseqEp2 (
_In_ RPC_CSTR NetworkAddress,
_In_ RPC_CSTR Protseq,
_In_ unsigned int MaxCalls,
_In_ RPC_CSTR Endpoint,
_In_ void __RPC_FAR *SecurityDescriptor,
_In_ void *Policy
); #endif
RPC_STATUS
I_RpcServerStartService
( );
#ifdef RPC_UNICODE_SUPPORTED
_Must_inspect_result_
RPC_STATUS
I_RpcBindingInqDynamicEndpointW
( );
_Must_inspect_result_
RPC_STATUS
I_RpcBindingInqDynamicEndpointA
( );
#ifdef UNICODE
#define I_RpcBindingInqDynamicEndpoint I_RpcBindingInqDynamicEndpointW
#else
#define I_RpcBindingInqDynamicEndpoint I_RpcBindingInqDynamicEndpointA #endif
#else
RPCRTAPI
_Must_inspect_result_
RPC_STATUS
RPC_ENTRY
I_RpcBindingInqDynamicEndpoint (
_In_ RPC_BINDING_HANDLE Binding,
_Outptr_result_maybenull_ RPC_CSTR __RPC_FAR *DynamicEndpoint
);
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
RPC_STATUS
I_RpcServerCheckClientRestriction
( );
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
#define TRANSPORT_TYPE_CN 0x01
#define TRANSPORT_TYPE_DG 0x02
#define TRANSPORT_TYPE_LPC 0x04
#define TRANSPORT_TYPE_WMSG 0x08
//@[comment("MVI_tracked")]
_Must_inspect_result_
RPC_STATUS
I_RpcBindingInqTransportType
( );
typedef
struct
_RPC_TRANSFER_SYNTAX
{
UUID
Uuid
;
unsigned
short
VersMajor
;
unsigned
short
VersMinor
; }
RPC_TRANSFER_SYNTAX
;
_Must_inspect_result_
RPC_STATUS
I_RpcIfInqTransferSyntaxes
( );
_Must_inspect_result_
RPC_STATUS
I_UuidCreate
( );
void
I_RpcUninitializeNdrOle
(
void
);
_Must_inspect_result_
RPC_STATUS
I_RpcBindingCopy
( );
RPC_STATUS
I_RpcBindingIsClientLocal
( );
RPC_STATUS
I_RpcBindingInqConnId
( );
RPC_STATUS
I_RpcBindingCreateNP
( );
void
I_RpcSsDontSerializeContext
(
void
);
_Must_inspect_result_
RPC_STATUS
I_RpcLaunchDatagramReceiveThread
( );
_Must_inspect_result_
RPC_STATUS
I_RpcServerRegisterForwardFunction
( );
I_RpcServerInqAddressChangeFn
(
void
);
I_RpcServerSetAddressChangeFn
( );
#if (NTDDI_VERSION >= NTDDI_WINXP)
/* The return buffer will contain SOCKADDR_IN for IPv4 */
#define RPC_P_ADDR_FORMAT_TCP_IPV4 1
/* The return buffer will contain SOCKADDR_STORAGE for IPv6 */
#define RPC_P_ADDR_FORMAT_TCP_IPV6 2
RPC_STATUS
I_RpcServerInqLocalConnAddress
( );
RPC_STATUS
I_RpcServerInqRemoteConnAddress
( );
void
I_RpcSessionStrictContextHandle
(
void
);
RPC_STATUS
I_RpcTurnOnEEInfoPropagation
(
void
);
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
_Must_inspect_result_
RPC_STATUS
I_RpcConnectionInqSockBuffSize
( );
_Must_inspect_result_
RPC_STATUS
I_RpcConnectionSetSockBuffSize
( );
typedef
void
(*
RPCLT_PDU_FILTER_FUNC
) ( );
typedef
void
(
__cdecl
*
RPC_SETFILTER_FUNC
) ( );
#ifndef WINNT
_Must_inspect_result_
RPC_STATUS
I_RpcServerStartListening
(
void
*
hWnd
);
_Must_inspect_result_
RPC_STATUS
I_RpcServerStopListening
(
void
);
typedef
RPC_STATUS
(*
RPC_BLOCKING_FN
) ( );
_Must_inspect_result_
RPC_STATUS
I_RpcBindingSetAsync
( );
_Must_inspect_result_
RPC_STATUS
I_RpcSetThreadParams
( );
unsigned
int
I_RpcWindowProc
( );
_Must_inspect_result_
RPC_STATUS
I_RpcServerUnregisterEndpointA
( );
_Must_inspect_result_
RPC_STATUS
I_RpcServerUnregisterEndpointW
( );
#ifdef UNICODE
#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW
#else
#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA #endif #endif // WINNT
RPC_STATUS
I_RpcServerInqTransportType
( );
long
I_RpcMapWin32Status
( );
#if (NTDDI_VERSION >= NTDDI_WS03)
#define RPC_C_OPT_SESSION_ID (6)
#define RPC_C_OPT_COOKIE_AUTH (7)
#define RPC_C_OPT_RESOURCE_TYPE_UUID (8)
typedef
struct
{
unsigned
long
;
// Length of the buffer in bytes
} ;
typedef
struct
_RDR_CALLOUT_STATE
{
// LastError is used for debugging only - don't use it for processing
RPC_STATUS
LastError
;
void
*
LastEEInfo
;
RPC_HTTP_REDIRECTOR_STAGE
LastCalledStage
;
// the information accumulated throughout the stages
unsigned
short
*
ServerName
;
// Allocated with MemAllocate
unsigned
short
*
ServerPort
;
// Allocated with MemAllocate
unsigned
short
*
RemoteUser
;
// Allocated with MemAllocate
unsigned
short
*
AuthType
;
// Allocated with MemAllocate
unsigned
char
ResourceTypePresent
;
unsigned
char
SessionIdPresent
;
unsigned
char
InterfacePresent
;
UUID
ResourceType
;
UUID
SessionId
;
RPC_SYNTAX_IDENTIFIER
Interface
;
void
*
CertContext
;
// Contains PCCERT_CONTEXT if cert is used for authentication.
// NULL otherwise. If allocated, CertFreeCertificateContext
// needs to be called on it when done
}
RDR_CALLOUT_STATE
;
#endif // (NTDDI_VERSION >= NTDDI_WS03)
#if (NTDDI_VERSION >= NTDDI_WINXP)
typedef
RPC_STATUS
( );
typedef
RPC_STATUS
( );
typedef
RPC_STATUS
( );
#if (NTDDI_VERSION >= NTDDI_WS03)
typedef
RPC_STATUS
( );
typedef
void
( );
typedef
RPC_STATUS
( );
#endif // (NTDDI_VERSION >= NTDDI_WS03)
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef
RPC_STATUS
( );
typedef
enum
RpcProxyPerfCounters
{
RpcCurrentUniqueUser
=
1
,
//Current Number of Unique Users
RpcBackEndConnectionAttempts
,
// Number of Back-End Connection Attempts per Second
RpcBackEndConnectionFailed
,
// Number of Failed Back-End Connection Attempts per Second
RpcRequestsPerSecond
,
//RPC/HTTP Requests per Second
RpcIncomingConnections
,
//Current Number of Incoming RPC over HTTP Connections
RpcIncomingBandwidth
,
// Total Incoming Bandwidth from Back-End Servers
RpcOutgoingBandwidth
,
// Total Outgoing Bandwidth to Back-End Servers
RpcAttemptedLbsDecisions
,
// Attempted RPC Load Balancing Decisions per Second
RpcFailedLbsDecisions
,
// Failed RPC Load Balancing Decisions per Second
RpcAttemptedLbsMessages
,
//Attempted RPC Load Balancing Broker Requests per Second
RpcFailedLbsMessages
,
// Failed RPC Load Balancing Broker Requests per Second
RpcLastCounter
}
RpcPerfCounters
;
typedef
void
( );
typedef
void
( );
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
#define RPC_PROXY_CONNECTION_TYPE_IN_PROXY 0
#define RPC_PROXY_CONNECTION_TYPE_OUT_PROXY 1
#if (NTDDI_VERSION >= NTDDI_WS03)
typedef
struct
tagI_RpcProxyCallbackInterface
{
I_RpcProxyIsValidMachineFn
IsValidMachineFn
;
I_RpcProxyGetClientAddressFn
GetClientAddressFn
;
I_RpcProxyGetConnectionTimeoutFn
GetConnectionTimeoutFn
;
I_RpcPerformCalloutFn
PerformCalloutFn
;
I_RpcFreeCalloutStateFn
FreeCalloutStateFn
;
I_RpcProxyGetClientSessionAndResourceUUID
GetClientSessionAndResourceUUIDFn
;
#if (NTDDI_VERSION >= NTDDI_VISTA)
I_RpcProxyFilterIfFn
ProxyFilterIfFn
;
I_RpcProxyUpdatePerfCounterFn
RpcProxyUpdatePerfCounterFn
;
I_RpcProxyUpdatePerfCounterBackendServerFn
RpcProxyUpdatePerfCounterBackendServerFn
;
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
}
I_RpcProxyCallbackInterface
;
RPC_STATUS
I_RpcProxyNewConnection
( );
#else
typedef struct tagI_RpcProxyCallbackInterface
{
I_RpcProxyIsValidMachineFn IsValidMachineFn;
I_RpcProxyGetClientAddressFn GetClientAddressFn;
I_RpcProxyGetConnectionTimeoutFn GetConnectionTimeoutFn;
} I_RpcProxyCallbackInterface;
RPCRTAPI
RPC_STATUS
RPC_ENTRY
I_RpcProxyNewConnection (
IN unsigned long ConnectionType,
IN unsigned short *ServerAddress,
IN unsigned short *ServerPort,
IN void *ConnectionParameter,
IN I_RpcProxyCallbackInterface *ProxyCallbackInterface
); #endif // (NTDDI_VERSION >= NTDDI_WS03)
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
#if (NTDDI_VERSION >= NTDDI_WS03)
RPC_STATUS
I_RpcReplyToClientWithStatus
( );
void
I_RpcRecordCalloutFailure
( );
#endif // (NTDDI_VERSION >= NTDDI_WS03)
#if (NTDDI_VERSION >= NTDDI_WIN7)
RPC_STATUS
I_RpcMgmtEnableDedicatedThreadPool
(
void
);
#endif // (NTDDI_VERSION >= NTDDI_WIN7)
#if (NTDDI_VERSION >= NTDDI_WIN7)
RPC_STATUS
I_RpcGetDefaultSD
( );
#endif // (NTDDI_VERSION >= NTDDI_WIN7)
#if (NTDDI_VERSION >= NTDDI_VISTA)
RPC_STATUS
I_RpcOpenClientProcess
( );
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (NTDDI_VERSION >= NTDDI_WIN8)
RPC_STATUS
I_RpcBindingIsServerLocal
( );
I_RpcBindingSetPrivateOption
( );
#define RPC_C_OPT_PRIVATE_SUPPRESS_WAKE 1
#define RPC_C_OPT_PRIVATE_DO_NOT_DISTURB 2
#define RPC_C_OPT_PRIVATE_BREAK_ON_SUSPEND 3
#endif // (NTDDI_VERSION >= NTDDI_WIN8)
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
RPC_STATUS
I_RpcServerSubscribeForDisconnectNotification
( );
RPC_STATUS
I_RpcServerGetAssociationID
( );
long
I_RpcServerDisableExceptionFilter
(
void
);
#endif // (NTDDI_VERSION >= NTDDI_WINBLUE)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif
#ifdef __cplusplus
}
#endif
#if defined(__cplusplus)
#define I_RRPCUNINITIALIZENDROLE_EXPORT_NAME reinterpret_cast<LPCSTR>(static_cast<ULONG_PTR>(1000))
#else
#define I_RRPCUNINITIALIZENDROLE_EXPORT_NAME ((LPCSTR)(ULONG_PTR)1000) #endif
#endif /* __RPCDCEP_H__ */