Remote Procedure Call (RPC)

Overview of the Remote Procedure Call (RPC) technology.

To develop Remote Procedure Call (RPC), you need these headers:

For programming guidance for this technology, see:

Enumerations

 
RPC_ASYNC_EVENT

The RPC_ASYNC_EVENT enumerated type describes the asynchronous notification events that an RPC application can receive.
RPC_NOTIFICATION_TYPES

The RPC_NOTIFICATION_TYPES enumerated type contains values that specify the method of asynchronous notification that a client program will use.
RPC_NOTIFICATIONS

The RPC_NOTIFICATIONS enumeration specifies the notifications a server can receive from RPC.
RpcCallClientLocality

Specifies the set of possible RPC client localities.
RpcCallType

Specifies the set of RPC call types.
RpcLocalAddressFormat

Specifies the possible local IP address formats supported by RPC.

Functions

 
CStdAsyncStubBuffer_AddRef

Implements the IRpcStubBuffer::AddRef method.
CStdAsyncStubBuffer_Connect

Implements the IRpcStubBuffer::Connect method and connects the server object to the stub. (CStdAsyncStubBuffer_Connect)
CStdAsyncStubBuffer_Disconnect

Implements the IRpcStubBuffer::Disconnect method and disconnects the server object from the stub. (CStdAsyncStubBuffer_Disconnect)
CStdAsyncStubBuffer_Invoke

Implements the IRpcStubBuffer::Invoke method.
CStdAsyncStubBuffer_QueryInterface

Implements the IRpcStubBuffer::QueryInterface method. (CStdAsyncStubBuffer_QueryInterface)
CStdAsyncStubBuffer_Release

Implements the IRpcStubBuffer::Release method. (CStdAsyncStubBuffer_Release)
CStdAsyncStubBuffer2_Connect

Implements the IRpcStubBuffer::Connect method and connects the server object to the stub. (CStdAsyncStubBuffer2_Connect)
CStdAsyncStubBuffer2_Disconnect

Implements the IRpcStubBuffer::Disconnect method and disconnects the server object from the stub. (CStdAsyncStubBuffer2_Disconnect)
CStdAsyncStubBuffer2_Release

Implements the IRpcStubBuffer::Release method. (CStdAsyncStubBuffer2_Release)
CStdStubBuffer_AddRef

The CStdStubBuffer_AddRef function implements the IRpcStubBuffer::AddRef method.
CStdStubBuffer_Connect

The CStdStubBuffer_Connect function implements the IRpcStubBuffer::Connect method and connects the server object to the stub.
CStdStubBuffer_CountRefs

The CStdStubBuffer_CountRefs function implements the IRpcStubBuffer::CountRefs method.
CStdStubBuffer_DebugServerQueryInterface

The CStdStubBuffer_DebugServerQueryInterface function implements the IRpcStubBuffer::DebugServerQueryInterface method.
CStdStubBuffer_DebugServerRelease

The CStdStubBuffer_DebugServerRelease function implements the IRpcStubBuffer::DebugServerRelease method.
CStdStubBuffer_Disconnect

The CStdStubBuffer_Disconnect function implements the IRpcStubBuffer::Disconnect method and disconnects the server object from the stub.
CStdStubBuffer_Invoke

The CStdStubBuffer_Invoke function implements the IRpcStubBuffer::Invoke method.
CStdStubBuffer_IsIIDSupported

The CStdStubBuffer_IsIIDSupported function implements the IRpcStubBuffer::IsIIDSupported method.
CStdStubBuffer_QueryInterface

The CStdStubBuffer_QueryInterface function implements the IRpcStubBuffer::QueryInterface method.
CStdStubBuffer2_Connect

Implements the IRpcStubBuffer::Connect method and connects the server object to the stub. (CStdStubBuffer2_Connect)
CStdStubBuffer2_CountRefs

Implements the IRpcStubBuffer::CountRefs method.
CStdStubBuffer2_Disconnect

Implements the IRpcStubBuffer::Disconnect method and disconnects the server object from the stub. (CStdStubBuffer2_Disconnect)
CStdStubBuffer2_QueryInterface

Implements the IRpcStubBuffer::QueryInterface method. (CStdStubBuffer2_QueryInterface)
DceErrorInqText

The DceErrorInqText function returns the message text for a status code. (DceErrorInqTextW)
DceErrorInqTextA

The DceErrorInqText function returns the message text for a status code. (DceErrorInqTextA)
DceErrorInqTextW

The DceErrorInqText function returns the message text for a status code. (DceErrorInqTextW)
I_RpcBindingInqLocalClientPID

Obtains a client process ID.
I_RpcExceptionFilter

Determines whether an exception is fatal or non-fatal
IUnknown_AddRef_Proxy

The IUnknown_AddRef_Proxy function implements the AddRef method for all interface proxies.
IUnknown_QueryInterface_Proxy

The IUnknown_QueryInterface_Proxy function implements the QueryInterface method for all interface proxies.
IUnknown_Release_Proxy

The IUnknown_Release_Proxy function implements the Release method for all interface proxies.
MesBufferHandleReset

The MesBufferHandleReset function re-initializes the handle for buffer serialization.
MesDecodeBufferHandleCreate

The MesDecodeBufferHandleCreate function creates a decoding handle and initializes it for a (fixed) buffer style of serialization.
MesDecodeIncrementalHandleCreate

The MesDecodeIncrementalHandleCreate function creates a decoding handle for the incremental style of serialization.
MesEncodeDynBufferHandleCreate

The MesEncodeDynBufferHandleCreate function creates an encoding handle and then initializes it for a dynamic buffer style of serialization.
MesEncodeFixedBufferHandleCreate

The MesEncodeFixedBufferHandleCreate function creates an encoding handle and then initializes it for a fixed buffer style of serialization.
MesEncodeIncrementalHandleCreate

The MesEncodeIncrementalHandleCreate function creates an encoding and then initializes it for the incremental style of serialization.
MesHandleFree

The MesHandleFree function frees the memory allocated by the serialization handle.
MesIncrementalHandleReset

The MesIncrementalHandleReset function re-initializes the handle for incremental serialization.
MesInqProcEncodingId

The MesInqProcEncodingId function provides the identity of an encoding.
Ndr64AsyncClientCall

Ndr64AsyncClientCall is not intended to be directly called by applications.
Ndr64AsyncServerCallAll

Ndr64AsyncServerCallAll is not intended to be directly called by applications.
NdrAsyncClientCall

The NdrAsyncClientCall function is the asynchronous client-side entry point for the /Oi and /Oic mode stub.
NdrAsyncClientCall2

NdrAsyncClientCall2 may be altered or unavailable.
NdrAsyncServerCall

NdrAsyncServerCall is not intended to be directly called by applications.
NdrClearOutParameters

The NdrClearOutParameters function frees resources of the out parameter and clears its memory if the RPC call to the server fails.
NdrClientCall

The NdrClientCall function is the client-side entry point for the /Oicf mode stub.
NdrClientCall2

The NdrClientCall2 function is the client-side entry point for the /Oicf mode stub.
NdrClientCall3

NdrClientCall3 may be altered or unavailable.
NdrClientCall4

NdrClientCall4 may be altered or unavailable.
NdrConformantArrayUnmarshall

The NdrConformantArrayUnmarshall function unmarshals a conformant array.
NdrConformantStringBufferSize

The NdrConformantStringBufferSize function calculates the size of the buffer, in bytes, needed to marshal the conformant string.
NdrConformantStringMarshall

The NdrConformantStringMarshall function marshals the conformant string into a network buffer to be sent to the server.
NdrConformantStringUnmarshall

The NdrConformantStringUnmarshall function unmarshals the conformant string from the network buffer to memory.
NdrContextHandleInitialize

Initializes a new RPC context handle.
NdrContextHandleMemorySize

Returns the size of the supplied RPC context handle as represented in local memory.
NdrContextHandleSize

The NdrContextHandleSize function returns the size of the supplied RPC context handle.
NdrConvert

The NdrConvert function converts the network buffer from the data representation of the sender to the data representation of the receiver if they are different.
NdrCStdStubBuffer_Release

The NdrCStdStubBuffer_Release function implements the IRpcStubBuffer::Release method.
NdrCStdStubBuffer2_Release

The NdrCStdStubBuffer2_Release function implements the IRpcStubBuffer::Release method.
NdrDcomAsyncClientCall

NdrDcomAsyncClientCall may be altered or unavailable.
NdrDcomAsyncClientCall2

NdrDcomAsyncClientCall2 may be altered or unavailable.
NdrDllCanUnloadNow

The NdrDllCanUnloadNow function determines whether the DLL that implements the proxy and stub is still in use. If not, the caller can safely unload the DLL from memory.
NdrDllGetClassObject

The NdrDllGetClassObject function retrieves the class object of the proxy or stub.
NdrDllRegisterProxy

The NdrDllRegisterProxy function creates a registry entry for the interfaces contained in the proxy DLL.
NdrDllUnregisterProxy

The NdrDllUnregisterProxy function removes a registry entry for the interfaces contained in the proxy DLL.
NdrGetUserMarshalInfo

The NdrGetUserMarshalInfo function provides additional information to wire_marshal and user_marshal helper functions.
NdrInterfacePointerBufferSize

The NdrInterfacePointerBufferSize function calculates the size of the buffer, in bytes, needed to marshal the interface pointer.
NdrInterfacePointerFree

The NdrInterfacePointerFree function releases the interface pointer.
NdrInterfacePointerMarshall

The NdrInterfacePointerMarshall function marshals the interface pointer into a network buffer to be sent to the server.
NdrInterfacePointerUnmarshall

The NdrInterfacePointerUnmarshall function unmarshalls the data referenced by the interface pointer from the network buffer to memory.
NdrMesProcEncodeDecode2

NdrMesProcEncodeDecode2 may be altered or unavailable.
NdrMesProcEncodeDecode4

NdrMesProcEncodeDecode4 may be altered or unavailable.
NdrOleAllocate

The NdrOleAllocate function is used by RPC to allocate memory for an object interface. This function is a wrapper for the CoTaskMemAlloc function.
NdrOleFree

The NdrOleFree function is a wrapper for the CoTaskMemFree function.
NdrPointerBufferSize

The NdrPointerBufferSize function computes the needed buffer size, in bytes, for a top-level pointer to anything.
NdrPointerFree

The NdrPointerFree function frees memory.
NdrPointerMarshall

The NdrPointerMarshall function marshalls a top level pointer to anything. Pointers embedded in structures, arrays, or unions call NdrPointerMarshall directly.
NdrPointerUnmarshall

The NdrPointerUnmarshall function unmarshalls a top level pointer to anything. Pointers embedded in structures, arrays, or unions call NdrPointerUnmarshall directly.
NdrProxyErrorHandler

The NdrProxyErrorHandler function maps an exception into an HRESULT, with RPC facility code.
NdrProxyForwardingFunction10

Stub function for COM proxies. (NdrProxyForwardingFunction10)
NdrProxyForwardingFunction11

Stub function for COM proxies. (NdrProxyForwardingFunction11)
NdrProxyForwardingFunction12

Stub function for COM proxies. (NdrProxyForwardingFunction12)
NdrProxyForwardingFunction13

Stub function for COM proxies. (NdrProxyForwardingFunction13)
NdrProxyForwardingFunction14

Stub function for COM proxies. (NdrProxyForwardingFunction14)
NdrProxyForwardingFunction15

Stub function for COM proxies. (NdrProxyForwardingFunction15)
NdrProxyForwardingFunction16

Stub function for COM proxies. (NdrProxyForwardingFunction16)
NdrProxyForwardingFunction17

Stub function for COM proxies. (NdrProxyForwardingFunction17)
NdrProxyForwardingFunction18

Stub function for COM proxies. (NdrProxyForwardingFunction18)
NdrProxyForwardingFunction19

Stub function for COM proxies. (NdrProxyForwardingFunction19)
NdrProxyForwardingFunction20

Stub function for COM proxies. (NdrProxyForwardingFunction20)
NdrProxyForwardingFunction21

Stub function for COM proxies. (NdrProxyForwardingFunction21)
NdrProxyForwardingFunction22

Stub function for COM proxies. (NdrProxyForwardingFunction22)
NdrProxyForwardingFunction23

Stub function for COM proxies. (NdrProxyForwardingFunction23)
NdrProxyForwardingFunction24

Stub function for COM proxies. (NdrProxyForwardingFunction24)
NdrProxyForwardingFunction25

Stub function for COM proxies. (NdrProxyForwardingFunction25)
NdrProxyForwardingFunction26

Stub function for COM proxies. (NdrProxyForwardingFunction26)
NdrProxyForwardingFunction27

Stub function for COM proxies. (NdrProxyForwardingFunction27)
NdrProxyForwardingFunction28

Stub function for COM proxies. (NdrProxyForwardingFunction28)
NdrProxyForwardingFunction29

Stub function for COM proxies. (NdrProxyForwardingFunction29)
NdrProxyForwardingFunction3

Stub function for COM proxies. (NdrProxyForwardingFunction3)
NdrProxyForwardingFunction30

Stub function for COM proxies. (NdrProxyForwardingFunction30)
NdrProxyForwardingFunction31

Stub function for COM proxies. (NdrProxyForwardingFunction31)
NdrProxyForwardingFunction32

Stub function for COM proxies. (NdrProxyForwardingFunction32)
NdrProxyForwardingFunction4

Stub function for COM proxies. (NdrProxyForwardingFunction4)
NdrProxyForwardingFunction5

Stub function for COM proxies. (NdrProxyForwardingFunction5)
NdrProxyForwardingFunction6

Stub function for COM proxies. (NdrProxyForwardingFunction6)
NdrProxyForwardingFunction7

Stub function for COM proxies. (NdrProxyForwardingFunction7)
NdrProxyForwardingFunction8

Stub function for COM proxies. (NdrProxyForwardingFunction8)
NdrProxyForwardingFunction9

Stub function for COM proxies. (NdrProxyForwardingFunction9)
NdrProxyFreeBuffer

The NdrProxyFreeBuffer function frees an RPC buffer.
NdrProxyGetBuffer

The NdrProxyGetBuffer function obtains a network buffer from COM through the use of an IRpcChannelBuffer::GetBuffer method call.
NdrProxyInitialize

The NdrProxyInitialize function initializes the proxy for an object method.
NdrProxySendReceive

The NdrProxySendReceive function sends a message to the server then waits for a reply.
NdrServerCall2

NdrServerCall2 is not intended to be directly called by applications.
NdrServerCallAll

NdrServerCallAll is not intended to be directly called by applications.
NdrSimpleTypeMarshall

The NdrSimpleTypeMarshall function marshalls a simple type.
NdrSimpleTypeUnmarshall

The NdrSimpleTypeUnmarshall function unmarshalls a simple type.
NdrStubCall2

The NdrStubCall2 function is the server-side entry point for /Oicf mode stubs.
NdrStubCall3

NdrStubCall3 is not intended to be directly called by applications.
NdrStubForwardingFunction

The NdrStubForwardingFunction function is the entry point for server-side object methods that are defined in a base interface.
NdrStubGetBuffer

The NdrStubGetBuffer function retrieves a buffer from the RPC channel.
NdrStubInitialize

The NdrStubInitialize function is called by the server stub before unmarshalling. It sets up some stub message fields.
NdrUserMarshalBufferSize

The NdrUserMarshalBufferSize function calculates the size of the buffer, in bytes, needed to marshal the user marshal object.
NdrUserMarshalFree

The NdrUserMarshalFree function frees the user marshal object.
NdrUserMarshalMarshall

The NdrUserMarshalMarshall function marshals the supplied data buffer.
ObjectStublessClient10

Stub function for COM proxies. (ObjectStublessClient10)
ObjectStublessClient11

Stub function for COM proxies. (ObjectStublessClient11)
ObjectStublessClient12

Stub function for COM proxies. (ObjectStublessClient12)
ObjectStublessClient13

Stub function for COM proxies. (ObjectStublessClient13)
ObjectStublessClient14

Stub function for COM proxies. (ObjectStublessClient14)
ObjectStublessClient15

Stub function for COM proxies. (ObjectStublessClient15)
ObjectStublessClient16

Stub function for COM proxies. (ObjectStublessClient16)
ObjectStublessClient17

Stub function for COM proxies. (ObjectStublessClient17)
ObjectStublessClient18

Stub function for COM proxies. (ObjectStublessClient18)
ObjectStublessClient19

Stub function for COM proxies. (ObjectStublessClient19)
ObjectStublessClient20

Stub function for COM proxies. (ObjectStublessClient20)
ObjectStublessClient21

Stub function for COM proxies. (ObjectStublessClient21)
ObjectStublessClient22

Stub function for COM proxies. (ObjectStublessClient22)
ObjectStublessClient23

Stub function for COM proxies. (ObjectStublessClient23)
ObjectStublessClient24

Stub function for COM proxies. (ObjectStublessClient24)
ObjectStublessClient25

Stub function for COM proxies. (ObjectStublessClient25)
ObjectStublessClient26

Stub function for COM proxies. (ObjectStublessClient26)
ObjectStublessClient27

Stub function for COM proxies. (ObjectStublessClient27)
ObjectStublessClient28

Stub function for COM proxies. (ObjectStublessClient28)
ObjectStublessClient29

Stub function for COM proxies. (ObjectStublessClient29)
ObjectStublessClient3

Stub function for COM proxies. (ObjectStublessClient3)
ObjectStublessClient30

Stub function for COM proxies. (ObjectStublessClient30)
ObjectStublessClient31

Stub function for COM proxies. (ObjectStublessClient31)
ObjectStublessClient32

Stub function for COM proxies. (ObjectStublessClient32)
ObjectStublessClient4

Stub function for COM proxies. (ObjectStublessClient4)
ObjectStublessClient5

ObjectStublessClient6

Stub function for COM proxies. (ObjectStublessClient6)
ObjectStublessClient7

Stub function for COM proxies. (ObjectStublessClient7)
ObjectStublessClient8

Stub function for COM proxies. (ObjectStublessClient8)
ObjectStublessClient9

Stub function for COM proxies. (ObjectStublessClient9)
RPC_AUTH_KEY_RETRIEVAL_FN

The RPC_AUTH_KEY_RETRIEVAL_FN function is a prototype for a function that specifies the address of a server-application-provided routine returning encryption keys.
RPC_IF_CALLBACK_FN

The RPC_IF_CALLBACK_FN is a prototype for a security-callback function that your application supplies. Your program can provide a callback function for each interface it defines.
RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN

The RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN is a user-defined callback that can be implemented for each defined interface group. This callback is invoked by the RPC runtime when it detects that the idle state of an interface group has changed.
RPC_MGMT_AUTHORIZATION_FN

The RPC_MGMT_AUTHORIZATION_FN enables server programs to implement custom RPC authorization techniques.
RPC_OBJECT_INQ_FN

The RPC_OBJECT_INQ_FN function is a prototype for a function that facilitates replacement of the default object UUID to type UUID mapping.
RpcAsyncAbortCall

The server calls RpcAsyncAbortCall to abort an asynchronous call.
RpcAsyncCancelCall

The client calls the RpcAsyncCancelCall function to cancel an asynchronous call.
RpcAsyncCompleteCall

The client and the server call the RpcAsyncCompleteCall function to complete an asynchronous remote procedure call.
RpcAsyncGetCallHandle

The RpcAsyncGetCallHandle macro returns the binding handle on an asynchronous remote procedure call.
RpcAsyncGetCallStatus

The client calls the RpcAsyncGetCallStatus function to determine the current status of an asynchronous remote call.
RpcAsyncInitializeHandle

The client calls the RpcAsyncInitializeHandle function to initialize the RPC_ASYNC_STATE structure to be used to make an asynchronous call.
RpcAsyncRegisterInfo

The RpcAsyncRegisterInfo function is obsolete.
RpcBindingBind

The RpcBindingBind function contacts an RPC server and binds to it.
RpcBindingCopy

The RpcBindingCopy function copies binding information and creates a new binding handle.
RpcBindingCreateA

The RpcBindingCreate function creates a new fast RPC binding handle based on a supplied template. (ANSI)
RpcBindingCreateW

The RpcBindingCreate function creates a new fast RPC binding handle based on a supplied template. (Unicode)
RpcBindingFree

The RpcBindingFree function releases binding-handle resources.
RpcBindingFromStringBinding

Returns a binding handle from a string representation of a binding handle. (RpcBindingFromStringBindingW)
RpcBindingFromStringBindingA

Returns a binding handle from a string representation of a binding handle. (RpcBindingFromStringBindingA)
RpcBindingFromStringBindingW

Returns a binding handle from a string representation of a binding handle. (RpcBindingFromStringBindingW)
RpcBindingInqAuthClient

A server application calls the RpcBindingInqAuthClient function to obtain the principal name or privilege attributes of the authenticated client that made the remote procedure call. (RpcBindingInqAuthClientW)
RpcBindingInqAuthClientA

A server application calls the RpcBindingInqAuthClient function to obtain the principal name or privilege attributes of the authenticated client that made the remote procedure call. (RpcBindingInqAuthClientA)
RpcBindingInqAuthClientEx

A server application calls the RpcBindingInqAuthClientEx function to obtain extended information about the client program that made the remote procedure call. (RpcBindingInqAuthClientExW)
RpcBindingInqAuthClientExA

A server application calls the RpcBindingInqAuthClientEx function to obtain extended information about the client program that made the remote procedure call. (RpcBindingInqAuthClientExA)
RpcBindingInqAuthClientExW

A server application calls the RpcBindingInqAuthClientEx function to obtain extended information about the client program that made the remote procedure call. (RpcBindingInqAuthClientExW)
RpcBindingInqAuthClientW

A server application calls the RpcBindingInqAuthClient function to obtain the principal name or privilege attributes of the authenticated client that made the remote procedure call. (RpcBindingInqAuthClientW)
RpcBindingInqAuthInfo

The RpcBindingInqAuthInfo function returns authentication and authorization information from a binding handle. (RpcBindingInqAuthInfoW)
RpcBindingInqAuthInfoA

The RpcBindingInqAuthInfo function returns authentication and authorization information from a binding handle. (RpcBindingInqAuthInfoA)
RpcBindingInqAuthInfoExA

The RpcBindingInqAuthInfoEx function returns authentication, authorization, and security quality-of-service information from a binding handle. (ANSI)
RpcBindingInqAuthInfoExW

The RpcBindingInqAuthInfoEx function returns authentication, authorization, and security quality-of-service information from a binding handle. (Unicode)
RpcBindingInqAuthInfoW

The RpcBindingInqAuthInfo function returns authentication and authorization information from a binding handle. (RpcBindingInqAuthInfoW)
RpcBindingInqObject

The RpcBindingInqObject function returns the object UUID from a binding handle.
RpcBindingInqOption

RPC client processes use RpcBindingInqOption to determine current values of the binding options for a given binding handle.
RpcBindingReset

The RpcBindingReset function resets a binding handle so that the host is specified but the server on that host is unspecified.
RpcBindingServerFromClient

An application calls RpcBindingServerFromClient to convert a client binding handle into a partially-bound server binding handle.
RpcBindingSetAuthInfo

The RpcBindingSetAuthInfo function sets a binding handle's authentication and authorization information. (RpcBindingSetAuthInfoW)
RpcBindingSetAuthInfoA

The RpcBindingSetAuthInfo function sets a binding handle's authentication and authorization information. (RpcBindingSetAuthInfoA)
RpcBindingSetAuthInfoExA

The RpcBindingSetAuthInfoEx function sets a binding handle's authentication, authorization, and security quality-of-service information. (ANSI)
RpcBindingSetAuthInfoExW

The RpcBindingSetAuthInfoEx function sets a binding handle's authentication, authorization, and security quality-of-service information. (Unicode)
RpcBindingSetAuthInfoW

The RpcBindingSetAuthInfo function sets a binding handle's authentication and authorization information. (RpcBindingSetAuthInfoW)
RpcBindingSetObject

The RpcBindingSetObject function sets the object UUID value in a binding handle.
RpcBindingSetOption

The RpcBindingSetOption function enables client applications to specify message-queuing options on a binding handle.
RpcBindingToStringBinding

The RpcBindingToStringBinding function returns a string representation of a binding handle. (RpcBindingToStringBindingW)
RpcBindingToStringBindingA

The RpcBindingToStringBinding function returns a string representation of a binding handle. (RpcBindingToStringBindingA)
RpcBindingToStringBindingW

The RpcBindingToStringBinding function returns a string representation of a binding handle. (RpcBindingToStringBindingW)
RpcBindingUnbind

Unbinds a binding handle previously bound by RpcBindingBind.
RpcBindingVectorFree

The RpcBindingVectorFree function frees the binding handles contained in the vector and the vector itself.
RpcCancelThread

The RpcCancelThread function cancels a thread. The RpcCancelThread function should not be used to cancel asynchronous RPC calls; instead, use the RpcAsyncCancelCall function to cancel an asynchronous RPC call.
RpcCancelThreadEx

The RpcCancelThreadEx function stops the execution of a thread.
RpcCertGeneratePrincipalName

Server programs use the RpcCertGeneratePrincipalName function to generate principal names for security certificates. (RpcCertGeneratePrincipalNameW)
RpcCertGeneratePrincipalNameA

Server programs use the RpcCertGeneratePrincipalName function to generate principal names for security certificates. (RpcCertGeneratePrincipalNameA)
RpcCertGeneratePrincipalNameW

Server programs use the RpcCertGeneratePrincipalName function to generate principal names for security certificates. (RpcCertGeneratePrincipalNameW)
RpcEpRegister

The RpcEpRegister function adds to or replaces server address information in the local endpoint-map database. (RpcEpRegisterW)
RpcEpRegisterA

The RpcEpRegister function adds to or replaces server address information in the local endpoint-map database. (RpcEpRegisterA)
RpcEpRegisterNoReplace

The RpcEpRegisterNoReplace function adds server-address information to the local endpoint-map database. (RpcEpRegisterNoReplaceW)
RpcEpRegisterNoReplaceA

The RpcEpRegisterNoReplace function adds server-address information to the local endpoint-map database. (RpcEpRegisterNoReplaceA)
RpcEpRegisterNoReplaceW

The RpcEpRegisterNoReplace function adds server-address information to the local endpoint-map database. (RpcEpRegisterNoReplaceW)
RpcEpRegisterW

The RpcEpRegister function adds to or replaces server address information in the local endpoint-map database. (RpcEpRegisterW)
RpcEpResolveBinding

The RpcEpResolveBinding function resolves a partially-bound server binding handle into a fully-bound server binding handle.
RpcEpUnregister

The RpcEpUnregister function removes server-address information from the local endpoint-map database.
RpcErrorAddRecord

The RpcErrorAddRecord function adds extended error information to a chain of extended error information records.
RpcErrorClearInformation

The RpcErrorClearInformation function clears all extended error information on the current thread.
RpcErrorEndEnumeration

The RpcErrorEndEnumeration function ends enumeration of extended error information and frees all resources allocated by RPC for the enumeration.
RpcErrorGetNextRecord

The RpcErrorGetNextRecord function retrieves the next extended error information record for an enumeration handle.
RpcErrorGetNumberOfRecords

The RpcErrorGetNumberOfRecords function returns the number of records in the extended error information.
RpcErrorLoadErrorInfo

The RpcErrorLoadErrorInfo function converts a BLOB obtained by a call to RpcErrorSaveErrorInfo into extended error information.
RpcErrorResetEnumeration

The RpcErrorResetEnumeration function resets an enumeration cursor for any in-process enumeration, resetting the process such that a subsequent call to the RpcErrorGetNextRecord retrieves the first extended error information record.
RpcErrorSaveErrorInfo

The RpcErrorSaveErrorInfo function returns all error information for an enumeration handle as a BLOB.
RpcErrorStartEnumeration

The RpcErrorStartEnumeration function begins enumeration of extended error information.
RpcExcept

The RpcExcept statement provides structured exception handling for RPC applications.
RpcExceptionFilter

A default exception filter that determines whether an exception is fatal or non-fatal.
RpcFreeAuthorizationContext

The RpcFreeAuthorizationContext function frees an Authz context obtained by a previous call to the RpcGetAuthorizationContextForClient function.
RpcGetAuthorizationContextForClient

The RpcGetAuthorizationContextForClient function returns the Authz context for an RPC client that can be used with Authz functions for high-performance authentication. Supported for ncalrpc and ncacn_* protocol sequences only.
RpcIfIdVectorFree

The RpcIfIdVectorFree function frees the vector and the interface-identification structures contained in the vector.
RpcIfInqId

The RpcIfInqId function returns the interface-identification part of an interface specification.
RpcImpersonateClient

A server thread that is processing client remote procedure calls can call the RpcImpersonateClient function to impersonate the active client.
RpcImpersonateClientContainer

RpcImpersonateClientContainer may be altered or unavailable.
RpcMgmtEnableIdleCleanup

The RpcMgmtEnableIdleCleanup function enables RPC to close idle resources, such as network connections, on the client.
RpcMgmtEpEltInqBegin

The RpcMgmtEpEltInqBegin function creates an inquiry context for viewing the elements in an endpoint map.
RpcMgmtEpEltInqDone

The RpcMgmtEpEltInqDone function deletes the inquiry context for viewing the elements in an endpoint map.
RpcMgmtEpEltInqNext

The RpcMgmtEpEltInqNext function returns one element from an endpoint map. (RpcMgmtEpEltInqNextW)
RpcMgmtEpEltInqNextA

The RpcMgmtEpEltInqNext function returns one element from an endpoint map. (RpcMgmtEpEltInqNextA)
RpcMgmtEpEltInqNextW

The RpcMgmtEpEltInqNext function returns one element from an endpoint map. (RpcMgmtEpEltInqNextW)
RpcMgmtEpUnregister

The RpcMgmtEpUnregister function removes server address information from an endpoint map.
RpcMgmtInqComTimeout

The RpcMgmtInqComTimeout function returns the binding-communications time-out value in a binding handle.
RpcMgmtInqDefaultProtectLevel

The RpcMgmtInqDefaultProtectLevel function returns the default authentication level for an authentication service.
RpcMgmtInqIfIds

The RpcMgmtInqIfIds function returns a vector containing the identifiers of the interfaces offered by the server.
RpcMgmtInqServerPrincName

The RpcMgmtInqServerPrincName function returns a server's principal name. (RpcMgmtInqServerPrincNameW)
RpcMgmtInqServerPrincNameA

The RpcMgmtInqServerPrincName function returns a server's principal name. (RpcMgmtInqServerPrincNameA)
RpcMgmtInqServerPrincNameW

The RpcMgmtInqServerPrincName function returns a server's principal name. (RpcMgmtInqServerPrincNameW)
RpcMgmtInqStats

The RpcMgmtInqStats function returns RPC run-time statistics.
RpcMgmtIsServerListening

The RpcMgmtIsServerListening function tells whether a server is listening for remote procedure calls.
RpcMgmtSetAuthorizationFn

The RpcMgmtSetAuthorizationFn function establishes an authorization function for processing remote calls to a server's management functions.
RpcMgmtSetCancelTimeout

The RpcMgmtSetCancelTimeout function sets the lower bound on the time to wait before timing out after forwarding a cancel.
RpcMgmtSetComTimeout

The RpcMgmtSetComTimeout function sets the binding-communications time-out value in a binding handle.
RpcMgmtSetServerStackSize

The RpcMgmtSetServerStackSize function specifies the stack size for server threads created by the RPC run time.
RpcMgmtStatsVectorFree

The RpcMgmtStatsVectorFree function frees a statistics vector.
RpcMgmtStopServerListening

The RpcMgmtStopServerListening function tells a server to stop listening for remote procedure calls. This function will not affect auto-listen interfaces. See RpcServerRegisterIfEx for more details.
RpcMgmtWaitServerListen

The RpcMgmtWaitServerListen function performs the wait operation usually associated with RpcServerListen.
RpcNetworkInqProtseqs

The RpcNetworkInqProtseqs function returns all protocol sequences supported by both the RPC run-time library and the operating system. (RpcNetworkInqProtseqsW)
RpcNetworkInqProtseqsA

The RpcNetworkInqProtseqs function returns all protocol sequences supported by both the RPC run-time library and the operating system. (RpcNetworkInqProtseqsA)
RpcNetworkInqProtseqsW

The RpcNetworkInqProtseqs function returns all protocol sequences supported by both the RPC run-time library and the operating system. (RpcNetworkInqProtseqsW)
RpcNetworkIsProtseqValid

The RpcNetworkIsProtseqValid function tells whether the specified protocol sequence is supported by both the RPC run-time library and the operating system. Server applications often use RpcNetworkInqProtseqs. (RpcNetworkIsProtseqValidW)
RpcNetworkIsProtseqValidA

The RpcNetworkIsProtseqValid function tells whether the specified protocol sequence is supported by both the RPC run-time library and the operating system. Server applications often use RpcNetworkInqProtseqs. (RpcNetworkIsProtseqValidA)
RpcNetworkIsProtseqValidW

The RpcNetworkIsProtseqValid function tells whether the specified protocol sequence is supported by both the RPC run-time library and the operating system. Server applications often use RpcNetworkInqProtseqs. (RpcNetworkIsProtseqValidW)
RPCNOTIFICATION_ROUTINE

The RPCNOTIFICATION_ROUTINE function provides programs that utilize asynchronous RPC with the ability to customize responses to asynchronous events.
RpcNsBindingExportA

The RpcNsBindingExport function establishes a name service�database entry with multiple binding handles and multiple objects for a server. (ANSI)
RpcNsBindingExportPnPA

The RpcNsBindingExportPnP function establishes a name-service database entry with multiple binding handles and multiple objects for a server that supports Plug and Play. (ANSI)
RpcNsBindingExportPnPW

The RpcNsBindingExportPnP function establishes a name-service database entry with multiple binding handles and multiple objects for a server that supports Plug and Play. (Unicode)
RpcNsBindingExportW

The RpcNsBindingExport function establishes a name service�database entry with multiple binding handles and multiple objects for a server. (Unicode)
RpcNsBindingImportBeginA

The RpcNsBindingImportBegin function creates an import context for importing client-compatible binding handles for servers that offer the specified interface and object. (ANSI)
RpcNsBindingImportBeginW

The RpcNsBindingImportBegin function creates an import context for importing client-compatible binding handles for servers that offer the specified interface and object. (Unicode)
RpcNsBindingImportDone

The RpcNsBindingImportDone function signals that a client has finished looking for a compatible server and deletes the import context.
RpcNsBindingImportNext

The RpcNsBindingImportNext function looks up an interface (and optionally an object from a name-service database) and returns a binding handle of a compatible server, if found.
RpcNsBindingInqEntryName

The RpcNsBindingInqEntryName function returns the entry name from which the binding handle came. (RpcNsBindingInqEntryNameW)
RpcNsBindingInqEntryNameA

The RpcNsBindingInqEntryName function returns the entry name from which the binding handle came. (RpcNsBindingInqEntryNameA)
RpcNsBindingInqEntryNameW

The RpcNsBindingInqEntryName function returns the entry name from which the binding handle came. (RpcNsBindingInqEntryNameW)
RpcNsBindingLookupBeginA

The RpcNsBindingLookupBegin function creates a lookup context for an interface and an object. (ANSI)
RpcNsBindingLookupBeginW

The RpcNsBindingLookupBegin function creates a lookup context for an interface and an object. (Unicode)
RpcNsBindingLookupDone

The RpcNsBindingLookupDone function signifies that a client has finished looking for compatible servers and deletes the lookup context.
RpcNsBindingLookupNext

The RpcNsBindingLookupNext function returns a list of compatible binding handles for a specified interface and optionally an object.
RpcNsBindingSelect

The RpcNsBindingSelect function returns a binding handle from a list of compatible binding handles.
RpcNsBindingUnexportA

The RpcNsBindingUnexport function removes the binding handles for an interface and objects from an entry in the name-service database. (ANSI)
RpcNsBindingUnexportPnPA

The RpcNsBindingUnexportPnP function removes the binding handles for Plug and Play interfaces and objects from an entry in the name-service database. (ANSI)
RpcNsBindingUnexportPnPW

The RpcNsBindingUnexportPnP function removes the binding handles for Plug and Play interfaces and objects from an entry in the name-service database. (Unicode)
RpcNsBindingUnexportW

The RpcNsBindingUnexport function removes the binding handles for an interface and objects from an entry in the name-service database. (Unicode)
RpcNsEntryExpandNameA

The RpcNsEntryExpandName function expands a name-service entry name. This function is supported by Active Directory. (ANSI)
RpcNsEntryExpandNameW

The RpcNsEntryExpandName function expands a name-service entry name. This function is supported by Active Directory. (Unicode)
RpcNsEntryObjectInqBeginA

The RpcNsEntryObjectInqBegin function creates an inquiry context for the objects of a name-service database entry. (ANSI)
RpcNsEntryObjectInqBeginW

The RpcNsEntryObjectInqBegin function creates an inquiry context for the objects of a name-service database entry. (Unicode)
RpcNsEntryObjectInqDone

The RpcNsEntryObjectInqDone function deletes the inquiry context for a name-service database entry's objects.
RpcNsEntryObjectInqNext

The RpcNsEntryObjectInqNext function returns one object at a time from a name-service database entry.
RpcNsGroupDeleteA

The RpcNsGroupDelete function deletes a group attribute. (ANSI)
RpcNsGroupDeleteW

The RpcNsGroupDelete function deletes a group attribute. (Unicode)
RpcNsGroupMbrAddA

The RpcNsGroupMbrAdd function adds an entry name to a group. If necessary, it creates the entry. (ANSI)
RpcNsGroupMbrAddW

The RpcNsGroupMbrAdd function adds an entry name to a group. If necessary, it creates the entry. (Unicode)
RpcNsGroupMbrInqBeginA

The RpcNsGroupMbrInqBegin function creates an inquiry context for viewing group members. (ANSI)
RpcNsGroupMbrInqBeginW

The RpcNsGroupMbrInqBegin function creates an inquiry context for viewing group members. (Unicode)
RpcNsGroupMbrInqDone

The RpcNsGroupMbrInqDone function deletes the inquiry context for a group.
RpcNsGroupMbrInqNextA

The RpcNsGroupMbrInqNext function returns one entry name from a group at a time. (ANSI)
RpcNsGroupMbrInqNextW

The RpcNsGroupMbrInqNext function returns one entry name from a group at a time. (Unicode)
RpcNsGroupMbrRemoveA

The RpcNsGroupMbrRemove function removes an entry name from a group. (ANSI)
RpcNsGroupMbrRemoveW

The RpcNsGroupMbrRemove function removes an entry name from a group. (Unicode)
RpcNsMgmtBindingUnexportA

The RpcNsMgmtBindingUnexport function removes multiple binding handles and objects from an entry in the name-service database. (ANSI)
RpcNsMgmtBindingUnexportW

The RpcNsMgmtBindingUnexport function removes multiple binding handles and objects from an entry in the name-service database. (Unicode)
RpcNsMgmtEntryCreateA

The RpcNsMgmtEntryCreate function creates a name service�database entry. (ANSI)
RpcNsMgmtEntryCreateW

The RpcNsMgmtEntryCreate function creates a name service�database entry. (Unicode)
RpcNsMgmtEntryDeleteA

The RpcNsMgmtEntryDelete function deletes a name service�database entry. (ANSI)
RpcNsMgmtEntryDeleteW

The RpcNsMgmtEntryDelete function deletes a name service�database entry. (Unicode)
RpcNsMgmtEntryInqIfIdsA

The RpcNsMgmtEntryInqIfIds function returns the list of interfaces exported to a name service�database entry. (ANSI)
RpcNsMgmtEntryInqIfIdsW

The RpcNsMgmtEntryInqIfIds function returns the list of interfaces exported to a name service�database entry. (Unicode)
RpcNsMgmtHandleSetExpAge

The RpcNsMgmtHandleSetExpAge function sets the expiration age of a name-service handle for local copies of name-service data.
RpcNsMgmtInqExpAge

The RpcNsMgmtInqExpAge function returns the global expiration age for local copies of name-service data.
RpcNsMgmtSetExpAge

The RpcNsMgmtSetExpAge function modifies the application's global expiration age for local copies of name-service data.
RpcNsProfileDeleteA

The RpcNsProfileDelete function deletes a profile attribute. (ANSI)
RpcNsProfileDeleteW

The RpcNsProfileDelete function deletes a profile attribute. (Unicode)
RpcNsProfileEltAddA

The RpcNsProfileEltAdd function adds an element to a profile. If necessary, it creates the entry. (ANSI)
RpcNsProfileEltAddW

The RpcNsProfileEltAdd function adds an element to a profile. If necessary, it creates the entry. (Unicode)
RpcNsProfileEltInqBeginA

The RpcNsProfileEltInqBegin function creates an inquiry context for viewing the elements in a profile. (ANSI)
RpcNsProfileEltInqBeginW

The RpcNsProfileEltInqBegin function creates an inquiry context for viewing the elements in a profile. (Unicode)
RpcNsProfileEltInqDone

The RpcNsProfileEltInqDone function deletes the inquiry context for viewing the elements in a profile.
RpcNsProfileEltInqNextA

The RpcNsProfileEltInqNext function returns one element at a time from a profile. (ANSI)
RpcNsProfileEltInqNextW

The RpcNsProfileEltInqNext function returns one element at a time from a profile. (Unicode)
RpcNsProfileEltRemoveA

The RpcNsProfileEltRemove function removes an element from a profile. (ANSI)
RpcNsProfileEltRemoveW

The RpcNsProfileEltRemove function removes an element from a profile. (Unicode)
RpcObjectInqType

The RpcObjectInqType function returns the type of an object.
RpcObjectSetInqFn

The RpcObjectSetInqFn function registers an object-inquiry function. A null value turns off a previously registered object-inquiry function.
RpcObjectSetType

The RpcObjectSetType function assigns the type of an object.
RpcProtseqVectorFree

The RpcProtseqVectorFree function frees the protocol sequences contained in the vector and the vector itself. (RpcProtseqVectorFreeW)
RpcProtseqVectorFreeA

The RpcProtseqVectorFree function frees the protocol sequences contained in the vector and the vector itself. (RpcProtseqVectorFreeA)
RpcProtseqVectorFreeW

The RpcProtseqVectorFree function frees the protocol sequences contained in the vector and the vector itself. (RpcProtseqVectorFreeW)
RpcRaiseException

Use the RpcRaiseException function to raise an exception. The function does not return to the caller.
RpcRevertContainerImpersonation

RpcRevertContainerImpersonation may be altered or unavailable.
RpcRevertToSelf

After calling RpcImpersonateClient and completing any tasks that require client impersonation, the server calls RpcRevertToSelf to end impersonation and to reestablish its own security identity.
RpcRevertToSelfEx

The RpcRevertToSelfEx function allows a server to impersonate a client and then revert in a multithreaded operation where the call to impersonate a client can come from a thread other than the thread originally dispatched from the RPC.
RpcServerCompleteSecurityCallback

The RpcServerCompleteSecurityCallback function completes an asynchronous security callback.
RpcServerInqBindingHandle

Obtains the binding handle for RPC calls serviced by the thread in which RpcServerInqBindingHandle is called.
RpcServerInqBindings

The RpcServerInqBindings function returns the binding handles over which remote procedure calls can be received.
RpcServerInqCallAttributesA

The RpcServerInqCallAttributes function is an RPC server call that obtains client security context attributes. (ANSI)
RpcServerInqCallAttributesW

The RpcServerInqCallAttributes function is an RPC server call that obtains client security context attributes. (Unicode)
RpcServerInqDefaultPrincName

The RpcServerInqDefaultPrincName function obtains the default principal name for a given authentication service. (RpcServerInqDefaultPrincNameW)
RpcServerInqDefaultPrincNameA

The RpcServerInqDefaultPrincName function obtains the default principal name for a given authentication service. (RpcServerInqDefaultPrincNameA)
RpcServerInqDefaultPrincNameW

The RpcServerInqDefaultPrincName function obtains the default principal name for a given authentication service. (RpcServerInqDefaultPrincNameW)
RpcServerInqIf

The RpcServerInqIf function returns the manager entry-point vector (EPV) registered for an interface.
RpcServerInterfaceGroupActivate

The RpcServerInterfaceGroupActivate function tells the RPC server runtime to register the interface group’s interfaces and endpoints and begin listening for calls.
RpcServerInterfaceGroupClose

The RpcServerInterfaceGroupClose function is used to free an interface group.
RpcServerInterfaceGroupCreate

The RpcServerInterfaceGroupCreate function creates an RPC server interface group for the server application. (RpcServerInterfaceGroupCreateW)
RpcServerInterfaceGroupCreateA

The RpcServerInterfaceGroupCreate function creates an RPC server interface group for the server application. (RpcServerInterfaceGroupCreateA)
RpcServerInterfaceGroupCreateW

The RpcServerInterfaceGroupCreate function creates an RPC server interface group for the server application. (RpcServerInterfaceGroupCreateW)
RpcServerInterfaceGroupDeactivate

The RpcServerInterfaceGroupDeactivate function tells the RPC runtime to attempt to close the given interface group, optionally aborting the operation if there is outstanding client activity.
RpcServerInterfaceGroupInqBindings

The RpcServerInterfaceGroupInqBindings function returns the binding handles over which remote procedure calls can be received for the given interface group.
RpcServerListen

The RpcServerListen function signals the RPC run-time library to listen for remote procedure calls. This function will not affect auto-listen interfaces; use RpcServerRegisterIfEx if you need that functionality.
RpcServerRegisterAuthInfo

The RpcServerRegisterAuthInfo function registers authentication information with the RPC run-time library. (RpcServerRegisterAuthInfoW)
RpcServerRegisterAuthInfoA

The RpcServerRegisterAuthInfo function registers authentication information with the RPC run-time library. (RpcServerRegisterAuthInfoA)
RpcServerRegisterAuthInfoW

The RpcServerRegisterAuthInfo function registers authentication information with the RPC run-time library. (RpcServerRegisterAuthInfoW)
RpcServerRegisterIf

The RpcServerRegisterIf function registers an interface with the RPC run-time library.
RpcServerRegisterIf2

The RpcServerRegisterIf2 function registers an interface with the RPC run-time library.
RpcServerRegisterIf3

The RpcServerRegisterIf3 function registers an interface with the RPC run-time library.
RpcServerRegisterIfEx

The RpcServerRegisterIfEx function registers an interface with the RPC run-time library.
RpcServerSubscribeForNotification

Subscribes the server for RPC notifications.
RpcServerTestCancel

The server calls RpcServerTestCancel to test for client cancel requests.
RpcServerUnregisterIf

The RpcServerUnregisterIf function removes an interface from the RPC run-time library registry.
RpcServerUnregisterIfEx

The RpcServerUnregisterIfEx function removes an interface from the RPC run-time library registry. This function extends the functionality of the RpcServerUnregisterIf function.
RpcServerUnsubscribeForNotification

Unsubscribes the server from RPC notifications.
RpcServerUseAllProtseqs

The RpcServerUseAllProtseqs function tells the RPC run-time library to use all supported protocol sequences for receiving remote procedure calls.
RpcServerUseAllProtseqsEx

The RpcServerUseAllProtseqsEx function tells the RPC run-time library to use all supported protocol sequences for receiving remote procedure calls.
RpcServerUseAllProtseqsIf

The RpcServerUseAllProtseqsIf function tells the RPC run-time library to use all specified protocol sequences and endpoints in the interface specification for receiving remote procedure calls.
RpcServerUseAllProtseqsIfEx

The RpcServerUseAllProtseqsIfEx function tells the RPC run-time library to use all the specified protocol sequences and endpoints in the interface specification for receiving remote procedure calls.
RpcServerUseProtseq

The RpcServerUseProtseq function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqW)
RpcServerUseProtseqA

The RpcServerUseProtseq function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqA)
RpcServerUseProtseqEp

The RpcServerUseProtseqEp function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpW)
RpcServerUseProtseqEpA

The RpcServerUseProtseqEp function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpA)
RpcServerUseProtseqEpEx

The RpcServerUseProtseqEpEx function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpExW)
RpcServerUseProtseqEpExA

The RpcServerUseProtseqEpEx function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpExA)
RpcServerUseProtseqEpExW

The RpcServerUseProtseqEpEx function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpExW)
RpcServerUseProtseqEpW

The RpcServerUseProtseqEp function tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (RpcServerUseProtseqEpW)
RpcServerUseProtseqEx

The RpcServerUseProtseqEx function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqExW)
RpcServerUseProtseqExA

The RpcServerUseProtseqEx function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqExA)
RpcServerUseProtseqExW

The RpcServerUseProtseqEx function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqExW)
RpcServerUseProtseqIf

The RpcServerUseProtseqIf function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfW)
RpcServerUseProtseqIfA

The RpcServerUseProtseqIf function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfA)
RpcServerUseProtseqIfEx

The RpcServerUseProtseqIfEx function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfExW)
RpcServerUseProtseqIfExA

The RpcServerUseProtseqIfEx function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfExA)
RpcServerUseProtseqIfExW

The RpcServerUseProtseqIfEx function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfExW)
RpcServerUseProtseqIfW

The RpcServerUseProtseqIf function tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (RpcServerUseProtseqIfW)
RpcServerUseProtseqW

The RpcServerUseProtseq function tells the RPC run-time library to use the specified protocol sequence for receiving remote procedure calls. (RpcServerUseProtseqW)
RpcSmAllocate

The RpcSmAllocate function allocates memory within the RPC stub memory management function and returns a pointer to the allocated memory or NULL.
RpcSmClientFree

The RpcSmClientFree function frees memory returned from a client stub.
RpcSmDestroyClientContext

The RpcSmDestroyClientContext function reclaims the client memory resources for a context handle and makes the context handle NULL.
RpcSmDisableAllocate

The RpcSmDisableAllocate function frees resources and memory within the stub memory�management environment.
RpcSmEnableAllocate

The RpcSmEnableAllocate function establishes the stub memory�management environment.
RpcSmFree

The RpcSmFree function releases memory allocated by RpcSmAllocate.
RpcSmGetThreadHandle

The RpcSmGetThreadHandle function returns a thread handle, or NULL, for the stub memory�management environment.
RpcSmSetClientAllocFree

The RpcSmSetClientAllocFree function enables the memory allocation and release mechanisms used by the client stubs.
RpcSmSetThreadHandle

The RpcSmSetThreadHandle function sets a thread handle for the stub memory�management environment.
RpcSmSwapClientAllocFree

The RpcSmSwapClientAllocFree function exchanges the client stub's memory-allocation and memory-freeing mechanisms with those supplied by the client.
RpcSsAllocate

The RpcSsAllocate function allocates memory within the RPC stub memory-management function, and returns a pointer to the allocated memory or NULL.
RpcSsContextLockExclusive

The RpcSsContextLockExclusive function enables an application to begin using a context handle in exclusive mode.
RpcSsContextLockShared

The RpcSsContextLockShared function enables an application to begin using a context handle in shared mode.
RpcSsDestroyClientContext

The RpcSsDestroyClientContext function destroys a context handle no longer needed by the client, without contacting the server.
RpcSsDisableAllocate

The RpcSsDisableAllocate function frees resources and memory within the stub memory�management environment.
RpcSsDontSerializeContext

The RpcSsDontSerializeContext function disables run-time serialization of multiple calls dispatched to server-manager routines on the same context handle.
RpcSsEnableAllocate

The RpcSsEnableAllocate function establishes the stub memory�management environment.
RpcSsFree

The RpcSsFree function releases memory allocated by RpcSsAllocate.
RpcSsGetThreadHandle

The RpcSsGetThreadHandle function returns a thread handle for the stub memory�management environment.
RpcSsSetClientAllocFree

The RpcSsSetClientAllocFree function enables the memory allocation and release mechanisms used by the client stubs.
RpcSsSetThreadHandle

The RpcSsSetThreadHandle function sets a thread handle for the stub memory–management environment.
RpcSsSwapClientAllocFree

The RpcSsSwapClientAllocFree function exchanges the memory allocation and release mechanisms used by the client stubs with those supplied by the client.
RpcStringBindingCompose

The RpcStringBindingCompose function creates a string binding handle. (RpcStringBindingComposeW)
RpcStringBindingComposeA

The RpcStringBindingCompose function creates a string binding handle. (RpcStringBindingComposeA)
RpcStringBindingComposeW

The RpcStringBindingCompose function creates a string binding handle. (RpcStringBindingComposeW)
RpcStringBindingParse

The RpcStringBindingParse function returns the object UUID part and the address parts of a string binding as separate strings. (RpcStringBindingParseW)
RpcStringBindingParseA

The RpcStringBindingParse function returns the object UUID part and the address parts of a string binding as separate strings. (RpcStringBindingParseA)
RpcStringBindingParseW

The RpcStringBindingParse function returns the object UUID part and the address parts of a string binding as separate strings. (RpcStringBindingParseW)
RpcStringFree

The RpcStringFree function frees a character string allocated by the RPC run-time library. (RpcStringFreeW)
RpcStringFreeA

The RpcStringFree function frees a character string allocated by the RPC run-time library. (RpcStringFreeA)
RpcStringFreeW

The RpcStringFree function frees a character string allocated by the RPC run-time library. (RpcStringFreeW)
RpcTestCancel

The RpcTestCancel function checks for a cancel indication.
RpcUserFree

RpcUserFree may be altered or unavailable.
UuidCompare

An application calls the UuidCompare function to compare two UUIDs and determine their order. The returned value gives the order.
UuidCreate

The UuidCreate function creates a new UUID.
UuidCreateNil

The UuidCreateNil function creates a nil-valued UUID.
UuidCreateSequential

The UuidCreateSequential function creates a new UUID.
UuidEqual

An application calls the UuidEqual function to compare two UUIDs and determine whether they are equal.
UuidFromString

The UuidFromString function converts a string to a UUID. (UuidFromStringW)
UuidFromStringA

The UuidFromString function converts a string to a UUID. (UuidFromStringA)
UuidFromStringW

The UuidFromString function converts a string to a UUID. (UuidFromStringW)
UuidHash

An application calls the UuidHash function to generate a hash value for a specified UUID.
UuidIsNil

An application calls the UuidIsNil function to determine whether the specified UUID is a nil-valued UUID.
UuidToString

The UuidToString function converts a UUID to a string. (UuidToStringW)
UuidToStringA

The UuidToString function converts a UUID to a string. (UuidToStringA)
UuidToStringW

The UuidToString function converts a UUID to a string. (UuidToStringW)

Structures

 
MIDL_STUB_DESC

The MIDL_STUB_DESC structure is a MIDL-generated structure that contains information about the interface stub regarding RPC calls between the client and server.
MIDL_STUB_MESSAGE

Is generated by MIDL and contains the current status of the RPC stub. Applications are not to modify the MIDL_STUB_MESSAGE structure directly.
NDR_USER_MARSHAL_INFO

The NDR_USER_MARSHAL_INFO structure holds information about the state of an RPC call that can be passed to wire_marshal and user_marshal helper functions.
NDR_USER_MARSHAL_INFO_LEVEL1

The NDR_USER_MARSHAL_INFO_LEVEL1 structure holds information about the state of an RPC call that can be passed to wire_marshal and user_marshal helper functions.
ProxyFileInfo

The ProxyFileInfo structure contains information about the interface proxies in the proxy DLL.
RPC_ASYNC_NOTIFICATION_INFO

Contains notification information for asynchronous remote procedure calls. This notification information can be configured for I/O completion ports (IOC), Windows asynchronous procedure calls (APC), Windows messaging, and Windows event notification.
RPC_ASYNC_STATE

The RPC_ASYNC_STATE structure holds the state of an asynchronous remote procedure call. RPC_ASYNC_STATE is a handle to this structure, used to wait for, query, reply to, or cancel asynchronous calls.
RPC_BINDING_HANDLE_OPTIONS_V1

Contains additional options with which to create an RPC binding handle.
RPC_BINDING_HANDLE_SECURITY_V1_A

Contains the basic security options with which to create an RPC binding handle. (ANSI)
RPC_BINDING_HANDLE_SECURITY_V1_W

Contains the basic security options with which to create an RPC binding handle. (Unicode)
RPC_BINDING_HANDLE_TEMPLATE_V1_A

Contains the basic options with which to create an RPC binding handle. (ANSI)
RPC_BINDING_HANDLE_TEMPLATE_V1_W

Contains the basic options with which to create an RPC binding handle. (Unicode)
RPC_BINDING_VECTOR

The RPC_BINDING_VECTOR structure contains a list of binding handles over which a server application can receive remote procedure calls.
RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR

The RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR structure contains a cookie that is inserted into the header of RPC/HTTP traffic.
RPC_CALL_ATTRIBUTES_V1_A

The RPC_CALL_ATTRIBUTES_V1 structure provides parameters to the RpcServerInqCallAttributes function. Implemented in ANSI and UNICODE versions for Windows XP and Windows Server 2003 operating systems. (ANSI)
RPC_CALL_ATTRIBUTES_V1_W

The RPC_CALL_ATTRIBUTES_V1 structure provides parameters to the RpcServerInqCallAttributes function. Implemented in ANSI and UNICODE versions for Windows XP and Windows Server 2003 operating systems. (Unicode)
RPC_CALL_ATTRIBUTES_V2_A

The RPC_CALL_ATTRIBUTES_V2 structure provides parameters to the RpcServerInqCallAttributes function. Version 2 specifies support for local addresses and client process IDs. (ANSI)
RPC_CALL_ATTRIBUTES_V2_W

The RPC_CALL_ATTRIBUTES_V2 structure provides parameters to the RpcServerInqCallAttributes function. Version 2 specifies support for local addresses and client process IDs. (Unicode)
RPC_CALL_LOCAL_ADDRESS_V1

Contains information about the local address on which a call was made.
RPC_CLIENT_INTERFACE

The RPC_CLIENT_INTERFACE structure is part of the private interface between the run-time libraries and the stubs. Most distributed applications that use Microsoft RPC do not need this structure.
RPC_DISPATCH_TABLE

The RPC_DISPATCH_TABLE structure is part of the private interface between the run-time libraries and the stubs. Most distributed applications that use Microsoft RPC do not need this structure.
RPC_EE_INFO_PARAM

The RPC_EE_INFO_PARAM structure is used to store extended error information.
RPC_ENDPOINT_TEMPLATE

Specifies the properties of an RPC interface group server endpoint, including protocol sequence and name. (RPC_ENDPOINT_TEMPLATEW)
RPC_ENDPOINT_TEMPLATEA

Specifies the properties of an RPC interface group server endpoint, including protocol sequence and name. (RPC_ENDPOINT_TEMPLATEA)
RPC_ENDPOINT_TEMPLATEW

Specifies the properties of an RPC interface group server endpoint, including protocol sequence and name. (RPC_ENDPOINT_TEMPLATEW)
RPC_ERROR_ENUM_HANDLE

The RPC_ERROR_ENUM_HANDLE structure provides an enumeration handle used by RpcError* functions for processing extended error information.
RPC_EXTENDED_ERROR_INFO

The RPC_EXTENDED_ERROR_INFO structure is used to store extended error information.
RPC_HTTP_TRANSPORT_CREDENTIALS_A

The RPC_HTTP_TRANSPORT_CREDENTIALS structure defines additional credentials to authenticate to an RPC proxy server when using RPC/HTTP. (ANSI)
RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A

The RPC_HTTP_TRANSPORT_CREDENTIALS_V2 structure defines additional credentials to authenticate to an RPC proxy server or HTTP proxy server when using RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V2 extends RPC_HTTP_TRANSPORT_CREDENTIALS by allowing authentication against an HTTP proxy server. (ANSI)
RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W

The RPC_HTTP_TRANSPORT_CREDENTIALS_V2 structure defines additional credentials to authenticate to an RPC proxy server or HTTP proxy server when using RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V2 extends RPC_HTTP_TRANSPORT_CREDENTIALS by allowing authentication against an HTTP proxy server. (Unicode)
RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A

The RPC_HTTP_TRANSPORT_CREDENTIALS_V3 structure defines additional credentials to authenticate to an RPC proxy server or HTTP proxy server when using RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V3 extends RPC_HTTP_TRANSPORT_CREDENTIALS_V2 by allowing arbitrary credential forms to be used. (ANSI)
RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W

The RPC_HTTP_TRANSPORT_CREDENTIALS_V3 structure defines additional credentials to authenticate to an RPC proxy server or HTTP proxy server when using RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V3 extends RPC_HTTP_TRANSPORT_CREDENTIALS_V2 by allowing arbitrary credential forms to be used. (Unicode)
RPC_HTTP_TRANSPORT_CREDENTIALS_W

The RPC_HTTP_TRANSPORT_CREDENTIALS structure defines additional credentials to authenticate to an RPC proxy server when using RPC/HTTP. (Unicode)
RPC_IF_ID

The RPC_IF_ID structure contains the interface UUID and major and minor version numbers of an interface.
RPC_IF_ID_VECTOR

The RPC_IF_ID_VECTOR structure contains a list of interfaces offered by a server.
RPC_INTERFACE_TEMPLATE

Defines an RPC interface group server interface. (RPC_INTERFACE_TEMPLATEW)
RPC_INTERFACE_TEMPLATEA

Defines an RPC interface group server interface. (RPC_INTERFACE_TEMPLATEA)
RPC_INTERFACE_TEMPLATEW

Defines an RPC interface group server interface. (RPC_INTERFACE_TEMPLATEW)
RPC_MESSAGE

The RPC_MESSAGE structure contains information shared between NDR and the rest of the RPC or OLE runtime.
RPC_POLICY

The RPC_POLICY structure contains flags that determine binding on multihomed computers, and port allocations when using the ncacn_ip_tcp and ncadg_ip_udp protocols.
RPC_PROTSEQ_VECTOR

The RPC_PROTSEQ_VECTOR structure contains a list of protocol sequences the RPC run-time library uses to send and receive remote procedure calls.
RPC_SECURITY_QOS

The RPC_SECURITY_QOS structure defines security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions.
RPC_SECURITY_QOS_V2_A

The RPC_SECURITY_QOS_V2 structure defines version 2 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (ANSI)
RPC_SECURITY_QOS_V2_W

The RPC_SECURITY_QOS_V2 structure defines version 2 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (Unicode)
RPC_SECURITY_QOS_V3_A

The RPC_SECURITY_QOS_V3 structure defines version 3 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (ANSI)
RPC_SECURITY_QOS_V3_W

The RPC_SECURITY_QOS_V3 structure defines version 3 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (Unicode)
RPC_SECURITY_QOS_V4_A

The RPC_SECURITY_QOS_V4 structure defines version 4 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (ANSI)
RPC_SECURITY_QOS_V4_W

The RPC_SECURITY_QOS_V4 structure defines version 4 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (Unicode)
RPC_SECURITY_QOS_V5_A

The RPC_SECURITY_QOS_V5 structure defines version 5 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (ANSI)
RPC_SECURITY_QOS_V5_W

The RPC_SECURITY_QOS_V5 structure defines version 5 security quality-of-service settings on a binding handle. See Remarks for version availability on Windows editions. (Unicode)
RPC_STATS_VECTOR

The RPC_STATS_VECTOR structure contains statistics from the RPC run-time library on a per-server basis.
SEC_WINNT_AUTH_IDENTITY_A

The SEC_WINNT_AUTH_IDENTITY structure enables passing a particular user name and password to the run-time library for the purpose of authentication. The structure is valid for Windows and Macintosh. (ANSI)
SEC_WINNT_AUTH_IDENTITY_W

The SEC_WINNT_AUTH_IDENTITY structure enables passing a particular user name and password to the run-time library for the purpose of authentication. The structure is valid for Windows and Macintosh. (Unicode)
UUID_VECTOR

The UUID_VECTOR structure contains a list of UUIDs.