diff --git a/PInvoke/Rpc/CorrelationReport.md b/PInvoke/Rpc/CorrelationReport.md
new file mode 100644
index 00000000..42647561
--- /dev/null
+++ b/PInvoke/Rpc/CorrelationReport.md
@@ -0,0 +1,559 @@
+## Vanara.PInvoke.Rpc
+PInvoke API (methods, structures and constants) imported from Windows Rpc libraries.
+
+- Includes methods from rpcrt4.dll
+- Current NuGet release: [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.Rpc?logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.Rpc?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.Rpc)
+### Methods - 5% API coverage (26 of 513 functions)
+Native Method | Header | Managed Method
+--- | --- | ---
+[CreateProxyFromTypeInfo](https://www.google.com/search?num=5&q=CreateProxyFromTypeInfo+site%3Adocs.microsoft.com) | |
+[CreateStubFromTypeInfo](https://www.google.com/search?num=5&q=CreateStubFromTypeInfo+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_AddRef](https://www.google.com/search?num=5&q=CStdStubBuffer_AddRef+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_Connect](https://www.google.com/search?num=5&q=CStdStubBuffer_Connect+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_CountRefs](https://www.google.com/search?num=5&q=CStdStubBuffer_CountRefs+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_DebugServerQueryInterface](https://www.google.com/search?num=5&q=CStdStubBuffer_DebugServerQueryInterface+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_DebugServerRelease](https://www.google.com/search?num=5&q=CStdStubBuffer_DebugServerRelease+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_Disconnect](https://www.google.com/search?num=5&q=CStdStubBuffer_Disconnect+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_Invoke](https://www.google.com/search?num=5&q=CStdStubBuffer_Invoke+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_IsIIDSupported](https://www.google.com/search?num=5&q=CStdStubBuffer_IsIIDSupported+site%3Adocs.microsoft.com) | |
+[CStdStubBuffer_QueryInterface](https://www.google.com/search?num=5&q=CStdStubBuffer_QueryInterface+site%3Adocs.microsoft.com) | |
+[DceErrorInqText](https://www.google.com/search?num=5&q=DceErrorInqTextA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.DceErrorInqText](https://github.com/dahall/Vanara/search?l=C%23&q=DceErrorInqText)
+[I_RpcAllocate](https://www.google.com/search?num=5&q=I_RpcAllocate+site%3Adocs.microsoft.com) | |
+[I_RpcAsyncAbortCall](https://www.google.com/search?num=5&q=I_RpcAsyncAbortCall+site%3Adocs.microsoft.com) | |
+[I_RpcAsyncSetHandle](https://www.google.com/search?num=5&q=I_RpcAsyncSetHandle+site%3Adocs.microsoft.com) | |
+[I_RpcBCacheAllocate](https://www.google.com/search?num=5&q=I_RpcBCacheAllocate+site%3Adocs.microsoft.com) | |
+[I_RpcBCacheFree](https://www.google.com/search?num=5&q=I_RpcBCacheFree+site%3Adocs.microsoft.com) | |
+[I_RpcBindingCopy](https://www.google.com/search?num=5&q=I_RpcBindingCopy+site%3Adocs.microsoft.com) | |
+[I_RpcBindingCreateNP](https://www.google.com/search?num=5&q=I_RpcBindingCreateNP+site%3Adocs.microsoft.com) | |
+[I_RpcBindingHandleToAsyncHandle](https://www.google.com/search?num=5&q=I_RpcBindingHandleToAsyncHandle+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqClientTokenAttributes](https://www.google.com/search?num=5&q=I_RpcBindingInqClientTokenAttributes+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqCurrentModifiedId](https://www.google.com/search?num=5&q=I_RpcBindingInqCurrentModifiedId+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqDynamicEndpoint](https://www.google.com/search?num=5&q=I_RpcBindingInqDynamicEndpoint+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqLocalClientPID](https://www.google.com/search?num=5&q=I_RpcBindingInqLocalClientPID+site%3Adocs.microsoft.com) | rpcdcep.h | [Vanara.PInvoke.Rpc.I_RpcBindingInqLocalClientPID](https://github.com/dahall/Vanara/search?l=C%23&q=I_RpcBindingInqLocalClientPID)
+[I_RpcBindingInqMarshalledTargetInfo](https://www.google.com/search?num=5&q=I_RpcBindingInqMarshalledTargetInfo+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqSecurityContext](https://www.google.com/search?num=5&q=I_RpcBindingInqSecurityContext+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqSecurityContextKeyInfo](https://www.google.com/search?num=5&q=I_RpcBindingInqSecurityContextKeyInfo+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqTransportType](https://www.google.com/search?num=5&q=I_RpcBindingInqTransportType+site%3Adocs.microsoft.com) | |
+[I_RpcBindingInqWireIdForSnego](https://www.google.com/search?num=5&q=I_RpcBindingInqWireIdForSnego+site%3Adocs.microsoft.com) | |
+[I_RpcBindingIsClientLocal](https://www.google.com/search?num=5&q=I_RpcBindingIsClientLocal+site%3Adocs.microsoft.com) | |
+[I_RpcBindingIsServerLocal](https://www.google.com/search?num=5&q=I_RpcBindingIsServerLocal+site%3Adocs.microsoft.com) | |
+[I_RpcBindingSetPrivateOption](https://www.google.com/search?num=5&q=I_RpcBindingSetPrivateOption+site%3Adocs.microsoft.com) | |
+[I_RpcBindingToStaticStringBindingW](https://www.google.com/search?num=5&q=I_RpcBindingToStaticStringBindingW+site%3Adocs.microsoft.com) | |
+[I_RpcCertProcessAndProvision](https://www.google.com/search?num=5&q=I_RpcCertProcessAndProvision+site%3Adocs.microsoft.com) | |
+[I_RpcClearMutex](https://www.google.com/search?num=5&q=I_RpcClearMutex+site%3Adocs.microsoft.com) | |
+[I_RpcCompleteAndFree](https://www.google.com/search?num=5&q=I_RpcCompleteAndFree+site%3Adocs.microsoft.com) | |
+[I_RpcDeleteMutex](https://www.google.com/search?num=5&q=I_RpcDeleteMutex+site%3Adocs.microsoft.com) | |
+[I_RpcEnableWmiTrace](https://www.google.com/search?num=5&q=I_RpcEnableWmiTrace+site%3Adocs.microsoft.com) | |
+[I_RpcExceptionFilter](https://www.google.com/search?num=5&q=I_RpcExceptionFilter+site%3Adocs.microsoft.com) | |
+[I_RpcFilterDCOMActivation](https://www.google.com/search?num=5&q=I_RpcFilterDCOMActivation+site%3Adocs.microsoft.com) | |
+[I_RpcFixTransferSyntax](https://www.google.com/search?num=5&q=I_RpcFixTransferSyntax+site%3Adocs.microsoft.com) | |
+[I_RpcFree](https://www.google.com/search?num=5&q=I_RpcFree+site%3Adocs.microsoft.com) | |
+[I_RpcFreeBuffer](https://www.google.com/search?num=5&q=I_RpcFreeBuffer+site%3Adocs.microsoft.com) | |
+[I_RpcFreePipeBuffer](https://www.google.com/search?num=5&q=I_RpcFreePipeBuffer+site%3Adocs.microsoft.com) | |
+[I_RpcFreeSystemHandle](https://www.google.com/search?num=5&q=I_RpcFreeSystemHandle+site%3Adocs.microsoft.com) | |
+[I_RpcFreeSystemHandleCollection](https://www.google.com/search?num=5&q=I_RpcFreeSystemHandleCollection+site%3Adocs.microsoft.com) | |
+[I_RpcFwThisIsTheManager](https://www.google.com/search?num=5&q=I_RpcFwThisIsTheManager+site%3Adocs.microsoft.com) | |
+[I_RpcGetBuffer](https://www.google.com/search?num=5&q=I_RpcGetBuffer+site%3Adocs.microsoft.com) | |
+[I_RpcGetBufferWithObject](https://www.google.com/search?num=5&q=I_RpcGetBufferWithObject+site%3Adocs.microsoft.com) | |
+[I_RpcGetCurrentCallHandle](https://www.google.com/search?num=5&q=I_RpcGetCurrentCallHandle+site%3Adocs.microsoft.com) | |
+[I_RpcGetDefaultSD](https://www.google.com/search?num=5&q=I_RpcGetDefaultSD+site%3Adocs.microsoft.com) | |
+[I_RpcGetExtendedError](https://www.google.com/search?num=5&q=I_RpcGetExtendedError+site%3Adocs.microsoft.com) | |
+[I_RpcGetPortAllocationData](https://www.google.com/search?num=5&q=I_RpcGetPortAllocationData+site%3Adocs.microsoft.com) | |
+[I_RpcGetSystemHandle](https://www.google.com/search?num=5&q=I_RpcGetSystemHandle+site%3Adocs.microsoft.com) | |
+[I_RpcIfInqTransferSyntaxes](https://www.google.com/search?num=5&q=I_RpcIfInqTransferSyntaxes+site%3Adocs.microsoft.com) | |
+[I_RpcInitFwImports](https://www.google.com/search?num=5&q=I_RpcInitFwImports+site%3Adocs.microsoft.com) | |
+[I_RpcInitHttpImports](https://www.google.com/search?num=5&q=I_RpcInitHttpImports+site%3Adocs.microsoft.com) | |
+[I_RpcInitImports](https://www.google.com/search?num=5&q=I_RpcInitImports+site%3Adocs.microsoft.com) | |
+[I_RpcInitNdrImports](https://www.google.com/search?num=5&q=I_RpcInitNdrImports+site%3Adocs.microsoft.com) | |
+[I_RpcLogEvent](https://www.google.com/search?num=5&q=I_RpcLogEvent+site%3Adocs.microsoft.com) | |
+[I_RpcMapWin32Status](https://www.google.com/search?num=5&q=I_RpcMapWin32Status+site%3Adocs.microsoft.com) | |
+[I_RpcMarshalBindingHandleAndInterfaceForNDF](https://www.google.com/search?num=5&q=I_RpcMarshalBindingHandleAndInterfaceForNDF+site%3Adocs.microsoft.com) | |
+[I_RpcMgmtEnableDedicatedThreadPool](https://www.google.com/search?num=5&q=I_RpcMgmtEnableDedicatedThreadPool+site%3Adocs.microsoft.com) | |
+[I_RpcMgmtQueryDedicatedThreadPool](https://www.google.com/search?num=5&q=I_RpcMgmtQueryDedicatedThreadPool+site%3Adocs.microsoft.com) | |
+[I_RpcNDRCGetWireRepresentation](https://www.google.com/search?num=5&q=I_RpcNDRCGetWireRepresentation+site%3Adocs.microsoft.com) | |
+[I_RpcNDRSContextEmergencyCleanup](https://www.google.com/search?num=5&q=I_RpcNDRSContextEmergencyCleanup+site%3Adocs.microsoft.com) | |
+[I_RpcNegotiateTransferSyntax](https://www.google.com/search?num=5&q=I_RpcNegotiateTransferSyntax+site%3Adocs.microsoft.com) | |
+[I_RpcNsBindingSetEntryName](https://www.google.com/search?num=5&q=I_RpcNsBindingSetEntryName+site%3Adocs.microsoft.com) | |
+[I_RpcNsInterfaceExported](https://www.google.com/search?num=5&q=I_RpcNsInterfaceExported+site%3Adocs.microsoft.com) | |
+[I_RpcNsInterfaceUnexported](https://www.google.com/search?num=5&q=I_RpcNsInterfaceUnexported+site%3Adocs.microsoft.com) | |
+[I_RpcOpenClientProcess](https://www.google.com/search?num=5&q=I_RpcOpenClientProcess+site%3Adocs.microsoft.com) | |
+[I_RpcOpenClientThread](https://www.google.com/search?num=5&q=I_RpcOpenClientThread+site%3Adocs.microsoft.com) | |
+[I_RpcParseSecurity](https://www.google.com/search?num=5&q=I_RpcParseSecurity+site%3Adocs.microsoft.com) | |
+[I_RpcPauseExecution](https://www.google.com/search?num=5&q=I_RpcPauseExecution+site%3Adocs.microsoft.com) | |
+[I_RpcReallocPipeBuffer](https://www.google.com/search?num=5&q=I_RpcReallocPipeBuffer+site%3Adocs.microsoft.com) | |
+[I_RpcReceive](https://www.google.com/search?num=5&q=I_RpcReceive+site%3Adocs.microsoft.com) | |
+[I_RpcRecordCalloutFailure](https://www.google.com/search?num=5&q=I_RpcRecordCalloutFailure+site%3Adocs.microsoft.com) | |
+[I_RpcRequestMutex](https://www.google.com/search?num=5&q=I_RpcRequestMutex+site%3Adocs.microsoft.com) | |
+[I_RpcSend](https://www.google.com/search?num=5&q=I_RpcSend+site%3Adocs.microsoft.com) | |
+[I_RpcSendReceive](https://www.google.com/search?num=5&q=I_RpcSendReceive+site%3Adocs.microsoft.com) | |
+[I_RpcServerAllocateIpPort](https://www.google.com/search?num=5&q=I_RpcServerAllocateIpPort+site%3Adocs.microsoft.com) | |
+[I_RpcServerCheckClientRestriction](https://www.google.com/search?num=5&q=I_RpcServerCheckClientRestriction+site%3Adocs.microsoft.com) | |
+[I_RpcServerDisableExceptionFilter](https://www.google.com/search?num=5&q=I_RpcServerDisableExceptionFilter+site%3Adocs.microsoft.com) | |
+[I_RpcServerGetAssociationID](https://www.google.com/search?num=5&q=I_RpcServerGetAssociationID+site%3Adocs.microsoft.com) | |
+[I_RpcServerInqAddressChangeFn](https://www.google.com/search?num=5&q=I_RpcServerInqAddressChangeFn+site%3Adocs.microsoft.com) | |
+[I_RpcServerInqLocalConnAddress](https://www.google.com/search?num=5&q=I_RpcServerInqLocalConnAddress+site%3Adocs.microsoft.com) | |
+[I_RpcServerInqRemoteConnAddress](https://www.google.com/search?num=5&q=I_RpcServerInqRemoteConnAddress+site%3Adocs.microsoft.com) | |
+[I_RpcServerInqTransportType](https://www.google.com/search?num=5&q=I_RpcServerInqTransportType+site%3Adocs.microsoft.com) | |
+[I_RpcServerIsClientDisconnected](https://www.google.com/search?num=5&q=I_RpcServerIsClientDisconnected+site%3Adocs.microsoft.com) | |
+[I_RpcServerRegisterForwardFunction](https://www.google.com/search?num=5&q=I_RpcServerRegisterForwardFunction+site%3Adocs.microsoft.com) | |
+[I_RpcServerSetAddressChangeFn](https://www.google.com/search?num=5&q=I_RpcServerSetAddressChangeFn+site%3Adocs.microsoft.com) | |
+[I_RpcServerStartService](https://www.google.com/search?num=5&q=I_RpcServerStartService+site%3Adocs.microsoft.com) | |
+[I_RpcServerSubscribeForDisconnectNotification](https://www.google.com/search?num=5&q=I_RpcServerSubscribeForDisconnectNotification+site%3Adocs.microsoft.com) | |
+[I_RpcServerSubscribeForDisconnectNotification2](https://www.google.com/search?num=5&q=I_RpcServerSubscribeForDisconnectNotification2+site%3Adocs.microsoft.com) | |
+[I_RpcServerTurnOnOffKeepalives](https://www.google.com/search?num=5&q=I_RpcServerTurnOnOffKeepalives+site%3Adocs.microsoft.com) | |
+[I_RpcServerUnsubscribeForDisconnectNotification](https://www.google.com/search?num=5&q=I_RpcServerUnsubscribeForDisconnectNotification+site%3Adocs.microsoft.com) | |
+[I_RpcServerUseProtseq2](https://www.google.com/search?num=5&q=I_RpcServerUseProtseq2A+site%3Adocs.microsoft.com) | |
+[I_RpcServerUseProtseqEp2](https://www.google.com/search?num=5&q=I_RpcServerUseProtseqEp2A+site%3Adocs.microsoft.com) | |
+[I_RpcSessionStrictContextHandle](https://www.google.com/search?num=5&q=I_RpcSessionStrictContextHandle+site%3Adocs.microsoft.com) | |
+[I_RpcSetDCOMAppId](https://www.google.com/search?num=5&q=I_RpcSetDCOMAppId+site%3Adocs.microsoft.com) | |
+[I_RpcSetSystemHandle](https://www.google.com/search?num=5&q=I_RpcSetSystemHandle+site%3Adocs.microsoft.com) | |
+[I_RpcSNCHOption](https://www.google.com/search?num=5&q=I_RpcSNCHOption+site%3Adocs.microsoft.com) | |
+[I_RpcSsDontSerializeContext](https://www.google.com/search?num=5&q=I_RpcSsDontSerializeContext+site%3Adocs.microsoft.com) | |
+[I_RpcSystemFunction001](https://www.google.com/search?num=5&q=I_RpcSystemFunction001+site%3Adocs.microsoft.com) | |
+[I_RpcSystemHandleTypeSpecificWork](https://www.google.com/search?num=5&q=I_RpcSystemHandleTypeSpecificWork+site%3Adocs.microsoft.com) | |
+[I_RpcTransConnectionAllocatePacket](https://www.google.com/search?num=5&q=I_RpcTransConnectionAllocatePacket+site%3Adocs.microsoft.com) | |
+[I_RpcTransConnectionFreePacket](https://www.google.com/search?num=5&q=I_RpcTransConnectionFreePacket+site%3Adocs.microsoft.com) | |
+[I_RpcTransConnectionReallocPacket](https://www.google.com/search?num=5&q=I_RpcTransConnectionReallocPacket+site%3Adocs.microsoft.com) | |
+[I_RpcTransDatagramAllocate](https://www.google.com/search?num=5&q=I_RpcTransDatagramAllocate+site%3Adocs.microsoft.com) | |
+[I_RpcTransDatagramAllocate2](https://www.google.com/search?num=5&q=I_RpcTransDatagramAllocate2+site%3Adocs.microsoft.com) | |
+[I_RpcTransDatagramFree](https://www.google.com/search?num=5&q=I_RpcTransDatagramFree+site%3Adocs.microsoft.com) | |
+[I_RpcTransGetThreadEvent](https://www.google.com/search?num=5&q=I_RpcTransGetThreadEvent+site%3Adocs.microsoft.com) | |
+[I_RpcTransGetThreadEventThreadOptional](https://www.google.com/search?num=5&q=I_RpcTransGetThreadEventThreadOptional+site%3Adocs.microsoft.com) | |
+[I_RpcTransIoCancelled](https://www.google.com/search?num=5&q=I_RpcTransIoCancelled+site%3Adocs.microsoft.com) | |
+[I_RpcTransServerNewConnection](https://www.google.com/search?num=5&q=I_RpcTransServerNewConnection+site%3Adocs.microsoft.com) | |
+[I_RpcTurnOnEEInfoPropagation](https://www.google.com/search?num=5&q=I_RpcTurnOnEEInfoPropagation+site%3Adocs.microsoft.com) | |
+[I_RpcVerifierCorruptionExpected](https://www.google.com/search?num=5&q=I_RpcVerifierCorruptionExpected+site%3Adocs.microsoft.com) | |
+[I_UuidCreate](https://www.google.com/search?num=5&q=I_UuidCreate+site%3Adocs.microsoft.com) | |
+[IUnknown_AddRef_Proxy](https://www.google.com/search?num=5&q=IUnknown_AddRef_Proxy+site%3Adocs.microsoft.com) | |
+[IUnknown_QueryInterface_Proxy](https://www.google.com/search?num=5&q=IUnknown_QueryInterface_Proxy+site%3Adocs.microsoft.com) | |
+[IUnknown_Release_Proxy](https://www.google.com/search?num=5&q=IUnknown_Release_Proxy+site%3Adocs.microsoft.com) | |
+[MesBufferHandleReset](https://www.google.com/search?num=5&q=MesBufferHandleReset+site%3Adocs.microsoft.com) | |
+[MesDecodeBufferHandleCreate](https://www.google.com/search?num=5&q=MesDecodeBufferHandleCreate+site%3Adocs.microsoft.com) | |
+[MesDecodeIncrementalHandleCreate](https://www.google.com/search?num=5&q=MesDecodeIncrementalHandleCreate+site%3Adocs.microsoft.com) | |
+[MesEncodeDynBufferHandleCreate](https://www.google.com/search?num=5&q=MesEncodeDynBufferHandleCreate+site%3Adocs.microsoft.com) | |
+[MesEncodeFixedBufferHandleCreate](https://www.google.com/search?num=5&q=MesEncodeFixedBufferHandleCreate+site%3Adocs.microsoft.com) | |
+[MesEncodeIncrementalHandleCreate](https://www.google.com/search?num=5&q=MesEncodeIncrementalHandleCreate+site%3Adocs.microsoft.com) | |
+[MesHandleFree](https://www.google.com/search?num=5&q=MesHandleFree+site%3Adocs.microsoft.com) | |
+[MesIncrementalHandleReset](https://www.google.com/search?num=5&q=MesIncrementalHandleReset+site%3Adocs.microsoft.com) | |
+[MesInqProcEncodingId](https://www.google.com/search?num=5&q=MesInqProcEncodingId+site%3Adocs.microsoft.com) | |
+[Ndr64AsyncClientCall](https://www.google.com/search?num=5&q=Ndr64AsyncClientCall+site%3Adocs.microsoft.com) | |
+[Ndr64AsyncServerCall64](https://www.google.com/search?num=5&q=Ndr64AsyncServerCall64+site%3Adocs.microsoft.com) | |
+[Ndr64AsyncServerCallAll](https://www.google.com/search?num=5&q=Ndr64AsyncServerCallAll+site%3Adocs.microsoft.com) | |
+[Ndr64DcomAsyncClientCall](https://www.google.com/search?num=5&q=Ndr64DcomAsyncClientCall+site%3Adocs.microsoft.com) | |
+[Ndr64DcomAsyncStubCall](https://www.google.com/search?num=5&q=Ndr64DcomAsyncStubCall+site%3Adocs.microsoft.com) | |
+[NdrAllocate](https://www.google.com/search?num=5&q=NdrAllocate+site%3Adocs.microsoft.com) | |
+[NdrAsyncClientCall](https://www.google.com/search?num=5&q=NdrAsyncClientCall+site%3Adocs.microsoft.com) | |
+[NdrAsyncServerCall](https://www.google.com/search?num=5&q=NdrAsyncServerCall+site%3Adocs.microsoft.com) | |
+[NdrByteCountPointerBufferSize](https://www.google.com/search?num=5&q=NdrByteCountPointerBufferSize+site%3Adocs.microsoft.com) | |
+[NdrByteCountPointerFree](https://www.google.com/search?num=5&q=NdrByteCountPointerFree+site%3Adocs.microsoft.com) | |
+[NdrByteCountPointerMarshall](https://www.google.com/search?num=5&q=NdrByteCountPointerMarshall+site%3Adocs.microsoft.com) | |
+[NdrByteCountPointerUnmarshall](https://www.google.com/search?num=5&q=NdrByteCountPointerUnmarshall+site%3Adocs.microsoft.com) | |
+[NDRCContextBinding](https://www.google.com/search?num=5&q=NDRCContextBinding+site%3Adocs.microsoft.com) | |
+[NDRCContextMarshall](https://www.google.com/search?num=5&q=NDRCContextMarshall+site%3Adocs.microsoft.com) | |
+[NDRCContextUnmarshall](https://www.google.com/search?num=5&q=NDRCContextUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrClearOutParameters](https://www.google.com/search?num=5&q=NdrClearOutParameters+site%3Adocs.microsoft.com) | |
+[NdrClientCall2](https://www.google.com/search?num=5&q=NdrClientCall2+site%3Adocs.microsoft.com) | rpcndr.h | [Vanara.PInvoke.Rpc.NdrClientCall2](https://github.com/dahall/Vanara/search?l=C%23&q=NdrClientCall2)
+[NdrClientCall3](https://www.google.com/search?num=5&q=NdrClientCall3+site%3Adocs.microsoft.com) | |
+[NdrClientContextMarshall](https://www.google.com/search?num=5&q=NdrClientContextMarshall+site%3Adocs.microsoft.com) | |
+[NdrClientContextUnmarshall](https://www.google.com/search?num=5&q=NdrClientContextUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrClientInitialize](https://www.google.com/search?num=5&q=NdrClientInitialize+site%3Adocs.microsoft.com) | |
+[NdrClientInitializeNew](https://www.google.com/search?num=5&q=NdrClientInitializeNew+site%3Adocs.microsoft.com) | |
+[NdrComplexArrayBufferSize](https://www.google.com/search?num=5&q=NdrComplexArrayBufferSize+site%3Adocs.microsoft.com) | |
+[NdrComplexArrayFree](https://www.google.com/search?num=5&q=NdrComplexArrayFree+site%3Adocs.microsoft.com) | |
+[NdrComplexArrayMarshall](https://www.google.com/search?num=5&q=NdrComplexArrayMarshall+site%3Adocs.microsoft.com) | |
+[NdrComplexArrayMemorySize](https://www.google.com/search?num=5&q=NdrComplexArrayMemorySize+site%3Adocs.microsoft.com) | |
+[NdrComplexArrayUnmarshall](https://www.google.com/search?num=5&q=NdrComplexArrayUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrComplexStructBufferSize](https://www.google.com/search?num=5&q=NdrComplexStructBufferSize+site%3Adocs.microsoft.com) | |
+[NdrComplexStructFree](https://www.google.com/search?num=5&q=NdrComplexStructFree+site%3Adocs.microsoft.com) | |
+[NdrComplexStructMarshall](https://www.google.com/search?num=5&q=NdrComplexStructMarshall+site%3Adocs.microsoft.com) | |
+[NdrComplexStructMemorySize](https://www.google.com/search?num=5&q=NdrComplexStructMemorySize+site%3Adocs.microsoft.com) | |
+[NdrComplexStructUnmarshall](https://www.google.com/search?num=5&q=NdrComplexStructUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantArrayBufferSize](https://www.google.com/search?num=5&q=NdrConformantArrayBufferSize+site%3Adocs.microsoft.com) | |
+[NdrConformantArrayFree](https://www.google.com/search?num=5&q=NdrConformantArrayFree+site%3Adocs.microsoft.com) | |
+[NdrConformantArrayMarshall](https://www.google.com/search?num=5&q=NdrConformantArrayMarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantArrayMemorySize](https://www.google.com/search?num=5&q=NdrConformantArrayMemorySize+site%3Adocs.microsoft.com) | |
+[NdrConformantArrayUnmarshall](https://www.google.com/search?num=5&q=NdrConformantArrayUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantStringBufferSize](https://www.google.com/search?num=5&q=NdrConformantStringBufferSize+site%3Adocs.microsoft.com) | |
+[NdrConformantStringMarshall](https://www.google.com/search?num=5&q=NdrConformantStringMarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantStringMemorySize](https://www.google.com/search?num=5&q=NdrConformantStringMemorySize+site%3Adocs.microsoft.com) | |
+[NdrConformantStringUnmarshall](https://www.google.com/search?num=5&q=NdrConformantStringUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantStructBufferSize](https://www.google.com/search?num=5&q=NdrConformantStructBufferSize+site%3Adocs.microsoft.com) | |
+[NdrConformantStructFree](https://www.google.com/search?num=5&q=NdrConformantStructFree+site%3Adocs.microsoft.com) | |
+[NdrConformantStructMarshall](https://www.google.com/search?num=5&q=NdrConformantStructMarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantStructMemorySize](https://www.google.com/search?num=5&q=NdrConformantStructMemorySize+site%3Adocs.microsoft.com) | |
+[NdrConformantStructUnmarshall](https://www.google.com/search?num=5&q=NdrConformantStructUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingArrayBufferSize](https://www.google.com/search?num=5&q=NdrConformantVaryingArrayBufferSize+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingArrayFree](https://www.google.com/search?num=5&q=NdrConformantVaryingArrayFree+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingArrayMarshall](https://www.google.com/search?num=5&q=NdrConformantVaryingArrayMarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingArrayMemorySize](https://www.google.com/search?num=5&q=NdrConformantVaryingArrayMemorySize+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingArrayUnmarshall](https://www.google.com/search?num=5&q=NdrConformantVaryingArrayUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingStructBufferSize](https://www.google.com/search?num=5&q=NdrConformantVaryingStructBufferSize+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingStructFree](https://www.google.com/search?num=5&q=NdrConformantVaryingStructFree+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingStructMarshall](https://www.google.com/search?num=5&q=NdrConformantVaryingStructMarshall+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingStructMemorySize](https://www.google.com/search?num=5&q=NdrConformantVaryingStructMemorySize+site%3Adocs.microsoft.com) | |
+[NdrConformantVaryingStructUnmarshall](https://www.google.com/search?num=5&q=NdrConformantVaryingStructUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrContextHandleInitialize](https://www.google.com/search?num=5&q=NdrContextHandleInitialize+site%3Adocs.microsoft.com) | |
+[NdrContextHandleSize](https://www.google.com/search?num=5&q=NdrContextHandleSize+site%3Adocs.microsoft.com) | |
+[NdrConvert](https://www.google.com/search?num=5&q=NdrConvert+site%3Adocs.microsoft.com) | |
+[NdrConvert2](https://www.google.com/search?num=5&q=NdrConvert2+site%3Adocs.microsoft.com) | |
+[NdrCorrelationFree](https://www.google.com/search?num=5&q=NdrCorrelationFree+site%3Adocs.microsoft.com) | |
+[NdrCorrelationInitialize](https://www.google.com/search?num=5&q=NdrCorrelationInitialize+site%3Adocs.microsoft.com) | |
+[NdrCorrelationPass](https://www.google.com/search?num=5&q=NdrCorrelationPass+site%3Adocs.microsoft.com) | |
+[NdrCreateServerInterfaceFromStub](https://www.google.com/search?num=5&q=NdrCreateServerInterfaceFromStub+site%3Adocs.microsoft.com) | |
+[NdrCStdStubBuffer_Release](https://www.google.com/search?num=5&q=NdrCStdStubBuffer_Release+site%3Adocs.microsoft.com) | |
+[NdrCStdStubBuffer2_Release](https://www.google.com/search?num=5&q=NdrCStdStubBuffer2_Release+site%3Adocs.microsoft.com) | |
+[NdrDcomAsyncClientCall](https://www.google.com/search?num=5&q=NdrDcomAsyncClientCall+site%3Adocs.microsoft.com) | |
+[NdrDcomAsyncStubCall](https://www.google.com/search?num=5&q=NdrDcomAsyncStubCall+site%3Adocs.microsoft.com) | |
+[NdrDllCanUnloadNow](https://www.google.com/search?num=5&q=NdrDllCanUnloadNow+site%3Adocs.microsoft.com) | |
+[NdrDllGetClassObject](https://www.google.com/search?num=5&q=NdrDllGetClassObject+site%3Adocs.microsoft.com) | |
+[NdrDllRegisterProxy](https://www.google.com/search?num=5&q=NdrDllRegisterProxy+site%3Adocs.microsoft.com) | |
+[NdrDllUnregisterProxy](https://www.google.com/search?num=5&q=NdrDllUnregisterProxy+site%3Adocs.microsoft.com) | |
+[NdrEncapsulatedUnionBufferSize](https://www.google.com/search?num=5&q=NdrEncapsulatedUnionBufferSize+site%3Adocs.microsoft.com) | |
+[NdrEncapsulatedUnionFree](https://www.google.com/search?num=5&q=NdrEncapsulatedUnionFree+site%3Adocs.microsoft.com) | |
+[NdrEncapsulatedUnionMarshall](https://www.google.com/search?num=5&q=NdrEncapsulatedUnionMarshall+site%3Adocs.microsoft.com) | |
+[NdrEncapsulatedUnionMemorySize](https://www.google.com/search?num=5&q=NdrEncapsulatedUnionMemorySize+site%3Adocs.microsoft.com) | |
+[NdrEncapsulatedUnionUnmarshall](https://www.google.com/search?num=5&q=NdrEncapsulatedUnionUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrFixedArrayBufferSize](https://www.google.com/search?num=5&q=NdrFixedArrayBufferSize+site%3Adocs.microsoft.com) | |
+[NdrFixedArrayFree](https://www.google.com/search?num=5&q=NdrFixedArrayFree+site%3Adocs.microsoft.com) | |
+[NdrFixedArrayMarshall](https://www.google.com/search?num=5&q=NdrFixedArrayMarshall+site%3Adocs.microsoft.com) | |
+[NdrFixedArrayMemorySize](https://www.google.com/search?num=5&q=NdrFixedArrayMemorySize+site%3Adocs.microsoft.com) | |
+[NdrFixedArrayUnmarshall](https://www.google.com/search?num=5&q=NdrFixedArrayUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrFreeBuffer](https://www.google.com/search?num=5&q=NdrFreeBuffer+site%3Adocs.microsoft.com) | |
+[NdrFullPointerFree](https://www.google.com/search?num=5&q=NdrFullPointerFree+site%3Adocs.microsoft.com) | |
+[NdrFullPointerInsertRefId](https://www.google.com/search?num=5&q=NdrFullPointerInsertRefId+site%3Adocs.microsoft.com) | |
+[NdrFullPointerQueryPointer](https://www.google.com/search?num=5&q=NdrFullPointerQueryPointer+site%3Adocs.microsoft.com) | |
+[NdrFullPointerQueryRefId](https://www.google.com/search?num=5&q=NdrFullPointerQueryRefId+site%3Adocs.microsoft.com) | |
+[NdrFullPointerXlatFree](https://www.google.com/search?num=5&q=NdrFullPointerXlatFree+site%3Adocs.microsoft.com) | |
+[NdrFullPointerXlatInit](https://www.google.com/search?num=5&q=NdrFullPointerXlatInit+site%3Adocs.microsoft.com) | |
+[NdrGetBaseInterfaceFromStub](https://www.google.com/search?num=5&q=NdrGetBaseInterfaceFromStub+site%3Adocs.microsoft.com) | |
+[NdrGetBuffer](https://www.google.com/search?num=5&q=NdrGetBuffer+site%3Adocs.microsoft.com) | |
+[NdrGetDcomProtocolVersion](https://www.google.com/search?num=5&q=NdrGetDcomProtocolVersion+site%3Adocs.microsoft.com) | |
+[NdrGetSimpleTypeBufferAlignment](https://www.google.com/search?num=5&q=NdrGetSimpleTypeBufferAlignment+site%3Adocs.microsoft.com) | |
+[NdrGetSimpleTypeBufferSize](https://www.google.com/search?num=5&q=NdrGetSimpleTypeBufferSize+site%3Adocs.microsoft.com) | |
+[NdrGetSimpleTypeMemorySize](https://www.google.com/search?num=5&q=NdrGetSimpleTypeMemorySize+site%3Adocs.microsoft.com) | |
+[NdrGetTypeFlags](https://www.google.com/search?num=5&q=NdrGetTypeFlags+site%3Adocs.microsoft.com) | |
+[NdrGetUserMarshalInfo](https://www.google.com/search?num=5&q=NdrGetUserMarshalInfo+site%3Adocs.microsoft.com) | |
+[NdrInterfacePointerBufferSize](https://www.google.com/search?num=5&q=NdrInterfacePointerBufferSize+site%3Adocs.microsoft.com) | |
+[NdrInterfacePointerFree](https://www.google.com/search?num=5&q=NdrInterfacePointerFree+site%3Adocs.microsoft.com) | |
+[NdrInterfacePointerMarshall](https://www.google.com/search?num=5&q=NdrInterfacePointerMarshall+site%3Adocs.microsoft.com) | |
+[NdrInterfacePointerMemorySize](https://www.google.com/search?num=5&q=NdrInterfacePointerMemorySize+site%3Adocs.microsoft.com) | |
+[NdrInterfacePointerUnmarshall](https://www.google.com/search?num=5&q=NdrInterfacePointerUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrMapCommAndFaultStatus](https://www.google.com/search?num=5&q=NdrMapCommAndFaultStatus+site%3Adocs.microsoft.com) | |
+[NdrMesProcEncodeDecode](https://www.google.com/search?num=5&q=NdrMesProcEncodeDecode+site%3Adocs.microsoft.com) | |
+[NdrMesProcEncodeDecode2](https://www.google.com/search?num=5&q=NdrMesProcEncodeDecode2+site%3Adocs.microsoft.com) | |
+[NdrMesProcEncodeDecode3](https://www.google.com/search?num=5&q=NdrMesProcEncodeDecode3+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeAlignSize](https://www.google.com/search?num=5&q=NdrMesSimpleTypeAlignSize+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeAlignSizeAll](https://www.google.com/search?num=5&q=NdrMesSimpleTypeAlignSizeAll+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeDecode](https://www.google.com/search?num=5&q=NdrMesSimpleTypeDecode+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeDecodeAll](https://www.google.com/search?num=5&q=NdrMesSimpleTypeDecodeAll+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeEncode](https://www.google.com/search?num=5&q=NdrMesSimpleTypeEncode+site%3Adocs.microsoft.com) | |
+[NdrMesSimpleTypeEncodeAll](https://www.google.com/search?num=5&q=NdrMesSimpleTypeEncodeAll+site%3Adocs.microsoft.com) | |
+[NdrMesTypeAlignSize](https://www.google.com/search?num=5&q=NdrMesTypeAlignSize+site%3Adocs.microsoft.com) | |
+[NdrMesTypeAlignSize2](https://www.google.com/search?num=5&q=NdrMesTypeAlignSize2+site%3Adocs.microsoft.com) | |
+[NdrMesTypeAlignSize3](https://www.google.com/search?num=5&q=NdrMesTypeAlignSize3+site%3Adocs.microsoft.com) | |
+[NdrMesTypeDecode](https://www.google.com/search?num=5&q=NdrMesTypeDecode+site%3Adocs.microsoft.com) | |
+[NdrMesTypeDecode2](https://www.google.com/search?num=5&q=NdrMesTypeDecode2+site%3Adocs.microsoft.com) | |
+[NdrMesTypeDecode3](https://www.google.com/search?num=5&q=NdrMesTypeDecode3+site%3Adocs.microsoft.com) | |
+[NdrMesTypeEncode](https://www.google.com/search?num=5&q=NdrMesTypeEncode+site%3Adocs.microsoft.com) | |
+[NdrMesTypeEncode2](https://www.google.com/search?num=5&q=NdrMesTypeEncode2+site%3Adocs.microsoft.com) | |
+[NdrMesTypeEncode3](https://www.google.com/search?num=5&q=NdrMesTypeEncode3+site%3Adocs.microsoft.com) | |
+[NdrMesTypeFree2](https://www.google.com/search?num=5&q=NdrMesTypeFree2+site%3Adocs.microsoft.com) | |
+[NdrMesTypeFree3](https://www.google.com/search?num=5&q=NdrMesTypeFree3+site%3Adocs.microsoft.com) | |
+[NdrNonConformantStringBufferSize](https://www.google.com/search?num=5&q=NdrNonConformantStringBufferSize+site%3Adocs.microsoft.com) | |
+[NdrNonConformantStringMarshall](https://www.google.com/search?num=5&q=NdrNonConformantStringMarshall+site%3Adocs.microsoft.com) | |
+[NdrNonConformantStringMemorySize](https://www.google.com/search?num=5&q=NdrNonConformantStringMemorySize+site%3Adocs.microsoft.com) | |
+[NdrNonConformantStringUnmarshall](https://www.google.com/search?num=5&q=NdrNonConformantStringUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrNonEncapsulatedUnionBufferSize](https://www.google.com/search?num=5&q=NdrNonEncapsulatedUnionBufferSize+site%3Adocs.microsoft.com) | |
+[NdrNonEncapsulatedUnionFree](https://www.google.com/search?num=5&q=NdrNonEncapsulatedUnionFree+site%3Adocs.microsoft.com) | |
+[NdrNonEncapsulatedUnionMarshall](https://www.google.com/search?num=5&q=NdrNonEncapsulatedUnionMarshall+site%3Adocs.microsoft.com) | |
+[NdrNonEncapsulatedUnionMemorySize](https://www.google.com/search?num=5&q=NdrNonEncapsulatedUnionMemorySize+site%3Adocs.microsoft.com) | |
+[NdrNonEncapsulatedUnionUnmarshall](https://www.google.com/search?num=5&q=NdrNonEncapsulatedUnionUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrNsGetBuffer](https://www.google.com/search?num=5&q=NdrNsGetBuffer+site%3Adocs.microsoft.com) | |
+[NdrNsSendReceive](https://www.google.com/search?num=5&q=NdrNsSendReceive+site%3Adocs.microsoft.com) | |
+[NdrOleAllocate](https://www.google.com/search?num=5&q=NdrOleAllocate+site%3Adocs.microsoft.com) | |
+[NdrOleFree](https://www.google.com/search?num=5&q=NdrOleFree+site%3Adocs.microsoft.com) | |
+[NdrOutInit](https://www.google.com/search?num=5&q=NdrOutInit+site%3Adocs.microsoft.com) | |
+[NdrPartialIgnoreClientBufferSize](https://www.google.com/search?num=5&q=NdrPartialIgnoreClientBufferSize+site%3Adocs.microsoft.com) | |
+[NdrPartialIgnoreClientMarshall](https://www.google.com/search?num=5&q=NdrPartialIgnoreClientMarshall+site%3Adocs.microsoft.com) | |
+[NdrPartialIgnoreServerInitialize](https://www.google.com/search?num=5&q=NdrPartialIgnoreServerInitialize+site%3Adocs.microsoft.com) | |
+[NdrPartialIgnoreServerUnmarshall](https://www.google.com/search?num=5&q=NdrPartialIgnoreServerUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrpClientCall2](https://www.google.com/search?num=5&q=NdrpClientCall2+site%3Adocs.microsoft.com) | |
+[NdrpCreateProxy](https://www.google.com/search?num=5&q=NdrpCreateProxy+site%3Adocs.microsoft.com) | |
+[NdrpCreateStub](https://www.google.com/search?num=5&q=NdrpCreateStub+site%3Adocs.microsoft.com) | |
+[NdrpGetProcFormatString](https://www.google.com/search?num=5&q=NdrpGetProcFormatString+site%3Adocs.microsoft.com) | |
+[NdrpGetTypeFormatString](https://www.google.com/search?num=5&q=NdrpGetTypeFormatString+site%3Adocs.microsoft.com) | |
+[NdrpGetTypeGenCookie](https://www.google.com/search?num=5&q=NdrpGetTypeGenCookie+site%3Adocs.microsoft.com) | |
+[NdrpMemoryIncrement](https://www.google.com/search?num=5&q=NdrpMemoryIncrement+site%3Adocs.microsoft.com) | |
+[NdrPointerBufferSize](https://www.google.com/search?num=5&q=NdrPointerBufferSize+site%3Adocs.microsoft.com) | |
+[NdrPointerFree](https://www.google.com/search?num=5&q=NdrPointerFree+site%3Adocs.microsoft.com) | |
+[NdrPointerMarshall](https://www.google.com/search?num=5&q=NdrPointerMarshall+site%3Adocs.microsoft.com) | |
+[NdrPointerMemorySize](https://www.google.com/search?num=5&q=NdrPointerMemorySize+site%3Adocs.microsoft.com) | |
+[NdrPointerUnmarshall](https://www.google.com/search?num=5&q=NdrPointerUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrpReleaseTypeFormatString](https://www.google.com/search?num=5&q=NdrpReleaseTypeFormatString+site%3Adocs.microsoft.com) | |
+[NdrpReleaseTypeGenCookie](https://www.google.com/search?num=5&q=NdrpReleaseTypeGenCookie+site%3Adocs.microsoft.com) | |
+[NdrProxyErrorHandler](https://www.google.com/search?num=5&q=NdrProxyErrorHandler+site%3Adocs.microsoft.com) | |
+[NdrProxyFreeBuffer](https://www.google.com/search?num=5&q=NdrProxyFreeBuffer+site%3Adocs.microsoft.com) | |
+[NdrProxyGetBuffer](https://www.google.com/search?num=5&q=NdrProxyGetBuffer+site%3Adocs.microsoft.com) | |
+[NdrProxyInitialize](https://www.google.com/search?num=5&q=NdrProxyInitialize+site%3Adocs.microsoft.com) | |
+[NdrProxySendReceive](https://www.google.com/search?num=5&q=NdrProxySendReceive+site%3Adocs.microsoft.com) | |
+[NdrpVarVtOfTypeDesc](https://www.google.com/search?num=5&q=NdrpVarVtOfTypeDesc+site%3Adocs.microsoft.com) | |
+[NdrRangeUnmarshall](https://www.google.com/search?num=5&q=NdrRangeUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrRpcSmClientAllocate](https://www.google.com/search?num=5&q=NdrRpcSmClientAllocate+site%3Adocs.microsoft.com) | |
+[NdrRpcSmClientFree](https://www.google.com/search?num=5&q=NdrRpcSmClientFree+site%3Adocs.microsoft.com) | |
+[NdrRpcSmSetClientToOsf](https://www.google.com/search?num=5&q=NdrRpcSmSetClientToOsf+site%3Adocs.microsoft.com) | |
+[NdrRpcSsDefaultAllocate](https://www.google.com/search?num=5&q=NdrRpcSsDefaultAllocate+site%3Adocs.microsoft.com) | |
+[NdrRpcSsDefaultFree](https://www.google.com/search?num=5&q=NdrRpcSsDefaultFree+site%3Adocs.microsoft.com) | |
+[NdrRpcSsDisableAllocate](https://www.google.com/search?num=5&q=NdrRpcSsDisableAllocate+site%3Adocs.microsoft.com) | |
+[NdrRpcSsEnableAllocate](https://www.google.com/search?num=5&q=NdrRpcSsEnableAllocate+site%3Adocs.microsoft.com) | |
+[NDRSContextMarshall](https://www.google.com/search?num=5&q=NDRSContextMarshall+site%3Adocs.microsoft.com) | |
+[NDRSContextMarshall2](https://www.google.com/search?num=5&q=NDRSContextMarshall2+site%3Adocs.microsoft.com) | |
+[NDRSContextMarshallEx](https://www.google.com/search?num=5&q=NDRSContextMarshallEx+site%3Adocs.microsoft.com) | |
+[NDRSContextUnmarshall](https://www.google.com/search?num=5&q=NDRSContextUnmarshall+site%3Adocs.microsoft.com) | |
+[NDRSContextUnmarshall2](https://www.google.com/search?num=5&q=NDRSContextUnmarshall2+site%3Adocs.microsoft.com) | |
+[NDRSContextUnmarshallEx](https://www.google.com/search?num=5&q=NDRSContextUnmarshallEx+site%3Adocs.microsoft.com) | |
+[NdrSendReceive](https://www.google.com/search?num=5&q=NdrSendReceive+site%3Adocs.microsoft.com) | |
+[NdrServerCall2](https://www.google.com/search?num=5&q=NdrServerCall2+site%3Adocs.microsoft.com) | |
+[NdrServerCallAll](https://www.google.com/search?num=5&q=NdrServerCallAll+site%3Adocs.microsoft.com) | |
+[NdrServerCallNdr64](https://www.google.com/search?num=5&q=NdrServerCallNdr64+site%3Adocs.microsoft.com) | |
+[NdrServerContextMarshall](https://www.google.com/search?num=5&q=NdrServerContextMarshall+site%3Adocs.microsoft.com) | |
+[NdrServerContextNewMarshall](https://www.google.com/search?num=5&q=NdrServerContextNewMarshall+site%3Adocs.microsoft.com) | |
+[NdrServerContextNewUnmarshall](https://www.google.com/search?num=5&q=NdrServerContextNewUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrServerContextUnmarshall](https://www.google.com/search?num=5&q=NdrServerContextUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrServerInitialize](https://www.google.com/search?num=5&q=NdrServerInitialize+site%3Adocs.microsoft.com) | |
+[NdrServerInitializeMarshall](https://www.google.com/search?num=5&q=NdrServerInitializeMarshall+site%3Adocs.microsoft.com) | |
+[NdrServerInitializeNew](https://www.google.com/search?num=5&q=NdrServerInitializeNew+site%3Adocs.microsoft.com) | |
+[NdrServerInitializePartial](https://www.google.com/search?num=5&q=NdrServerInitializePartial+site%3Adocs.microsoft.com) | |
+[NdrServerInitializeUnmarshall](https://www.google.com/search?num=5&q=NdrServerInitializeUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrSimpleStructBufferSize](https://www.google.com/search?num=5&q=NdrSimpleStructBufferSize+site%3Adocs.microsoft.com) | |
+[NdrSimpleStructFree](https://www.google.com/search?num=5&q=NdrSimpleStructFree+site%3Adocs.microsoft.com) | |
+[NdrSimpleStructMarshall](https://www.google.com/search?num=5&q=NdrSimpleStructMarshall+site%3Adocs.microsoft.com) | |
+[NdrSimpleStructMemorySize](https://www.google.com/search?num=5&q=NdrSimpleStructMemorySize+site%3Adocs.microsoft.com) | |
+[NdrSimpleStructUnmarshall](https://www.google.com/search?num=5&q=NdrSimpleStructUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrSimpleTypeMarshall](https://www.google.com/search?num=5&q=NdrSimpleTypeMarshall+site%3Adocs.microsoft.com) | |
+[NdrSimpleTypeUnmarshall](https://www.google.com/search?num=5&q=NdrSimpleTypeUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrStubCall2](https://www.google.com/search?num=5&q=NdrStubCall2+site%3Adocs.microsoft.com) | |
+[NdrStubCall3](https://www.google.com/search?num=5&q=NdrStubCall3+site%3Adocs.microsoft.com) | |
+[NdrStubForwardingFunction](https://www.google.com/search?num=5&q=NdrStubForwardingFunction+site%3Adocs.microsoft.com) | |
+[NdrStubGetBuffer](https://www.google.com/search?num=5&q=NdrStubGetBuffer+site%3Adocs.microsoft.com) | |
+[NdrStubInitialize](https://www.google.com/search?num=5&q=NdrStubInitialize+site%3Adocs.microsoft.com) | |
+[NdrStubInitializeMarshall](https://www.google.com/search?num=5&q=NdrStubInitializeMarshall+site%3Adocs.microsoft.com) | |
+[NdrTypeFlags](https://www.google.com/search?num=5&q=NdrTypeFlags+site%3Adocs.microsoft.com) | |
+[NdrTypeFree](https://www.google.com/search?num=5&q=NdrTypeFree+site%3Adocs.microsoft.com) | |
+[NdrTypeMarshall](https://www.google.com/search?num=5&q=NdrTypeMarshall+site%3Adocs.microsoft.com) | |
+[NdrTypeSize](https://www.google.com/search?num=5&q=NdrTypeSize+site%3Adocs.microsoft.com) | |
+[NdrTypeUnmarshall](https://www.google.com/search?num=5&q=NdrTypeUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrUnmarshallBasetypeInline](https://www.google.com/search?num=5&q=NdrUnmarshallBasetypeInline+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalBufferSize](https://www.google.com/search?num=5&q=NdrUserMarshalBufferSize+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalFree](https://www.google.com/search?num=5&q=NdrUserMarshalFree+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalMarshall](https://www.google.com/search?num=5&q=NdrUserMarshalMarshall+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalMemorySize](https://www.google.com/search?num=5&q=NdrUserMarshalMemorySize+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalSimpleTypeConvert](https://www.google.com/search?num=5&q=NdrUserMarshalSimpleTypeConvert+site%3Adocs.microsoft.com) | |
+[NdrUserMarshalUnmarshall](https://www.google.com/search?num=5&q=NdrUserMarshalUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrVaryingArrayBufferSize](https://www.google.com/search?num=5&q=NdrVaryingArrayBufferSize+site%3Adocs.microsoft.com) | |
+[NdrVaryingArrayFree](https://www.google.com/search?num=5&q=NdrVaryingArrayFree+site%3Adocs.microsoft.com) | |
+[NdrVaryingArrayMarshall](https://www.google.com/search?num=5&q=NdrVaryingArrayMarshall+site%3Adocs.microsoft.com) | |
+[NdrVaryingArrayMemorySize](https://www.google.com/search?num=5&q=NdrVaryingArrayMemorySize+site%3Adocs.microsoft.com) | |
+[NdrVaryingArrayUnmarshall](https://www.google.com/search?num=5&q=NdrVaryingArrayUnmarshall+site%3Adocs.microsoft.com) | |
+[NdrXmitOrRepAsBufferSize](https://www.google.com/search?num=5&q=NdrXmitOrRepAsBufferSize+site%3Adocs.microsoft.com) | |
+[NdrXmitOrRepAsFree](https://www.google.com/search?num=5&q=NdrXmitOrRepAsFree+site%3Adocs.microsoft.com) | |
+[NdrXmitOrRepAsMarshall](https://www.google.com/search?num=5&q=NdrXmitOrRepAsMarshall+site%3Adocs.microsoft.com) | |
+[NdrXmitOrRepAsMemorySize](https://www.google.com/search?num=5&q=NdrXmitOrRepAsMemorySize+site%3Adocs.microsoft.com) | |
+[NdrXmitOrRepAsUnmarshall](https://www.google.com/search?num=5&q=NdrXmitOrRepAsUnmarshall+site%3Adocs.microsoft.com) | |
+[pfnFreeRoutines](https://www.google.com/search?num=5&q=pfnFreeRoutines+site%3Adocs.microsoft.com) | |
+[pfnMarshallRoutines](https://www.google.com/search?num=5&q=pfnMarshallRoutines+site%3Adocs.microsoft.com) | |
+[pfnSizeRoutines](https://www.google.com/search?num=5&q=pfnSizeRoutines+site%3Adocs.microsoft.com) | |
+[pfnUnmarshallRoutines](https://www.google.com/search?num=5&q=pfnUnmarshallRoutines+site%3Adocs.microsoft.com) | |
+[RpcAsyncAbortCall](https://www.google.com/search?num=5&q=RpcAsyncAbortCall+site%3Adocs.microsoft.com) | |
+[RpcAsyncCancelCall](https://www.google.com/search?num=5&q=RpcAsyncCancelCall+site%3Adocs.microsoft.com) | |
+[RpcAsyncCompleteCall](https://www.google.com/search?num=5&q=RpcAsyncCompleteCall+site%3Adocs.microsoft.com) | |
+[RpcAsyncGetCallStatus](https://www.google.com/search?num=5&q=RpcAsyncGetCallStatus+site%3Adocs.microsoft.com) | |
+[RpcAsyncInitializeHandle](https://www.google.com/search?num=5&q=RpcAsyncInitializeHandle+site%3Adocs.microsoft.com) | |
+[RpcAsyncRegisterInfo](https://www.google.com/search?num=5&q=RpcAsyncRegisterInfo+site%3Adocs.microsoft.com) | |
+[RpcBindingBind](https://www.google.com/search?num=5&q=RpcBindingBind+site%3Adocs.microsoft.com) | |
+[RpcBindingCopy](https://www.google.com/search?num=5&q=RpcBindingCopy+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingCopy](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingCopy)
+[RpcBindingCreate](https://www.google.com/search?num=5&q=RpcBindingCreateA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingCreate](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingCreate)
+[RpcBindingFree](https://www.google.com/search?num=5&q=RpcBindingFree+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingFree](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingFree)
+[RpcBindingFromStringBinding](https://www.google.com/search?num=5&q=RpcBindingFromStringBindingA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingFromStringBinding](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingFromStringBinding)
+[RpcBindingInqAuthClient](https://www.google.com/search?num=5&q=RpcBindingInqAuthClientA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqAuthClient](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqAuthClient)
+[RpcBindingInqAuthClientEx](https://www.google.com/search?num=5&q=RpcBindingInqAuthClientExA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqAuthClientEx](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqAuthClientEx)
+[RpcBindingInqAuthInfo](https://www.google.com/search?num=5&q=RpcBindingInqAuthInfoA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqAuthInfo](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqAuthInfo)
+[RpcBindingInqAuthInfoEx](https://www.google.com/search?num=5&q=RpcBindingInqAuthInfoExA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqAuthInfoEx](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqAuthInfoEx)
+[RpcBindingInqObject](https://www.google.com/search?num=5&q=RpcBindingInqObject+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqObject](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqObject)
+[RpcBindingInqOption](https://www.google.com/search?num=5&q=RpcBindingInqOption+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingInqOption](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingInqOption)
+[RpcBindingReset](https://www.google.com/search?num=5&q=RpcBindingReset+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingReset](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingReset)
+[RpcBindingServerFromClient](https://www.google.com/search?num=5&q=RpcBindingServerFromClient+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingServerFromClient](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingServerFromClient)
+[RpcBindingSetAuthInfo](https://www.google.com/search?num=5&q=RpcBindingSetAuthInfoA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingSetAuthInfo](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingSetAuthInfo)
+[RpcBindingSetAuthInfoEx](https://www.google.com/search?num=5&q=RpcBindingSetAuthInfoExA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcBindingSetAuthInfoEx](https://github.com/dahall/Vanara/search?l=C%23&q=RpcBindingSetAuthInfoEx)
+[RpcBindingSetObject](https://www.google.com/search?num=5&q=RpcBindingSetObject+site%3Adocs.microsoft.com) | |
+[RpcBindingSetOption](https://www.google.com/search?num=5&q=RpcBindingSetOption+site%3Adocs.microsoft.com) | |
+[RpcBindingToStringBinding](https://www.google.com/search?num=5&q=RpcBindingToStringBindingA+site%3Adocs.microsoft.com) | |
+[RpcBindingUnbind](https://www.google.com/search?num=5&q=RpcBindingUnbind+site%3Adocs.microsoft.com) | |
+[RpcBindingVectorFree](https://www.google.com/search?num=5&q=RpcBindingVectorFree+site%3Adocs.microsoft.com) | |
+[RpcCancelThread](https://www.google.com/search?num=5&q=RpcCancelThread+site%3Adocs.microsoft.com) | |
+[RpcCancelThreadEx](https://www.google.com/search?num=5&q=RpcCancelThreadEx+site%3Adocs.microsoft.com) | |
+[RpcCertGeneratePrincipalName](https://www.google.com/search?num=5&q=RpcCertGeneratePrincipalNameA+site%3Adocs.microsoft.com) | |
+[RpcCertMatchPrincipalName](https://www.google.com/search?num=5&q=RpcCertMatchPrincipalName+site%3Adocs.microsoft.com) | |
+[RpcEpRegister](https://www.google.com/search?num=5&q=RpcEpRegisterA+site%3Adocs.microsoft.com) | |
+[RpcEpRegisterNoReplace](https://www.google.com/search?num=5&q=RpcEpRegisterNoReplaceA+site%3Adocs.microsoft.com) | |
+[RpcEpResolveBinding](https://www.google.com/search?num=5&q=RpcEpResolveBinding+site%3Adocs.microsoft.com) | |
+[RpcEpUnregister](https://www.google.com/search?num=5&q=RpcEpUnregister+site%3Adocs.microsoft.com) | |
+[RpcErrorAddRecord](https://www.google.com/search?num=5&q=RpcErrorAddRecord+site%3Adocs.microsoft.com) | |
+[RpcErrorClearInformation](https://www.google.com/search?num=5&q=RpcErrorClearInformation+site%3Adocs.microsoft.com) | |
+[RpcErrorEndEnumeration](https://www.google.com/search?num=5&q=RpcErrorEndEnumeration+site%3Adocs.microsoft.com) | |
+[RpcErrorGetNextRecord](https://www.google.com/search?num=5&q=RpcErrorGetNextRecord+site%3Adocs.microsoft.com) | |
+[RpcErrorGetNumberOfRecords](https://www.google.com/search?num=5&q=RpcErrorGetNumberOfRecords+site%3Adocs.microsoft.com) | |
+[RpcErrorLoadErrorInfo](https://www.google.com/search?num=5&q=RpcErrorLoadErrorInfo+site%3Adocs.microsoft.com) | |
+[RpcErrorResetEnumeration](https://www.google.com/search?num=5&q=RpcErrorResetEnumeration+site%3Adocs.microsoft.com) | |
+[RpcErrorSaveErrorInfo](https://www.google.com/search?num=5&q=RpcErrorSaveErrorInfo+site%3Adocs.microsoft.com) | |
+[RpcErrorStartEnumeration](https://www.google.com/search?num=5&q=RpcErrorStartEnumeration+site%3Adocs.microsoft.com) | |
+[RpcExceptionFilter](https://www.google.com/search?num=5&q=RpcExceptionFilter+site%3Adocs.microsoft.com) | |
+[RpcFreeAuthorizationContext](https://www.google.com/search?num=5&q=RpcFreeAuthorizationContext+site%3Adocs.microsoft.com) | |
+[RpcGetAuthorizationContextForClient](https://www.google.com/search?num=5&q=RpcGetAuthorizationContextForClient+site%3Adocs.microsoft.com) | |
+[RpcIfIdVectorFree](https://www.google.com/search?num=5&q=RpcIfIdVectorFree+site%3Adocs.microsoft.com) | |
+[RpcIfInqId](https://www.google.com/search?num=5&q=RpcIfInqId+site%3Adocs.microsoft.com) | |
+[RpcImpersonateClient](https://www.google.com/search?num=5&q=RpcImpersonateClient+site%3Adocs.microsoft.com) | |
+[RpcImpersonateClient2](https://www.google.com/search?num=5&q=RpcImpersonateClient2+site%3Adocs.microsoft.com) | |
+[RpcImpersonateClientContainer](https://www.google.com/search?num=5&q=RpcImpersonateClientContainer+site%3Adocs.microsoft.com) | |
+[RpcMgmtEnableIdleCleanup](https://www.google.com/search?num=5&q=RpcMgmtEnableIdleCleanup+site%3Adocs.microsoft.com) | |
+[RpcMgmtEpEltInqBegin](https://www.google.com/search?num=5&q=RpcMgmtEpEltInqBegin+site%3Adocs.microsoft.com) | |
+[RpcMgmtEpEltInqDone](https://www.google.com/search?num=5&q=RpcMgmtEpEltInqDone+site%3Adocs.microsoft.com) | |
+[RpcMgmtEpEltInqNext](https://www.google.com/search?num=5&q=RpcMgmtEpEltInqNextA+site%3Adocs.microsoft.com) | |
+[RpcMgmtEpUnregister](https://www.google.com/search?num=5&q=RpcMgmtEpUnregister+site%3Adocs.microsoft.com) | |
+[RpcMgmtInqComTimeout](https://www.google.com/search?num=5&q=RpcMgmtInqComTimeout+site%3Adocs.microsoft.com) | |
+[RpcMgmtInqDefaultProtectLevel](https://www.google.com/search?num=5&q=RpcMgmtInqDefaultProtectLevel+site%3Adocs.microsoft.com) | |
+[RpcMgmtInqIfIds](https://www.google.com/search?num=5&q=RpcMgmtInqIfIds+site%3Adocs.microsoft.com) | |
+[RpcMgmtInqServerPrincName](https://www.google.com/search?num=5&q=RpcMgmtInqServerPrincNameA+site%3Adocs.microsoft.com) | |
+[RpcMgmtInqStats](https://www.google.com/search?num=5&q=RpcMgmtInqStats+site%3Adocs.microsoft.com) | |
+[RpcMgmtIsServerListening](https://www.google.com/search?num=5&q=RpcMgmtIsServerListening+site%3Adocs.microsoft.com) | |
+[RpcMgmtSetAuthorizationFn](https://www.google.com/search?num=5&q=RpcMgmtSetAuthorizationFn+site%3Adocs.microsoft.com) | |
+[RpcMgmtSetCancelTimeout](https://www.google.com/search?num=5&q=RpcMgmtSetCancelTimeout+site%3Adocs.microsoft.com) | |
+[RpcMgmtSetComTimeout](https://www.google.com/search?num=5&q=RpcMgmtSetComTimeout+site%3Adocs.microsoft.com) | |
+[RpcMgmtSetServerStackSize](https://www.google.com/search?num=5&q=RpcMgmtSetServerStackSize+site%3Adocs.microsoft.com) | |
+[RpcMgmtStatsVectorFree](https://www.google.com/search?num=5&q=RpcMgmtStatsVectorFree+site%3Adocs.microsoft.com) | |
+[RpcMgmtStopServerListening](https://www.google.com/search?num=5&q=RpcMgmtStopServerListening+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcMgmtStopServerListening](https://github.com/dahall/Vanara/search?l=C%23&q=RpcMgmtStopServerListening)
+[RpcMgmtWaitServerListen](https://www.google.com/search?num=5&q=RpcMgmtWaitServerListen+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcMgmtWaitServerListen](https://github.com/dahall/Vanara/search?l=C%23&q=RpcMgmtWaitServerListen)
+[RpcNetworkInqProtseqs](https://www.google.com/search?num=5&q=RpcNetworkInqProtseqsA+site%3Adocs.microsoft.com) | |
+[RpcNetworkIsProtseqValid](https://www.google.com/search?num=5&q=RpcNetworkIsProtseqValidA+site%3Adocs.microsoft.com) | |
+[RpcNsBindingInqEntryName](https://www.google.com/search?num=5&q=RpcNsBindingInqEntryNameA+site%3Adocs.microsoft.com) | |
+[RpcObjectInqType](https://www.google.com/search?num=5&q=RpcObjectInqType+site%3Adocs.microsoft.com) | |
+[RpcObjectSetInqFn](https://www.google.com/search?num=5&q=RpcObjectSetInqFn+site%3Adocs.microsoft.com) | |
+[RpcObjectSetType](https://www.google.com/search?num=5&q=RpcObjectSetType+site%3Adocs.microsoft.com) | |
+[RpcProtseqVectorFree](https://www.google.com/search?num=5&q=RpcProtseqVectorFreeA+site%3Adocs.microsoft.com) | |
+[RpcRaiseException](https://www.google.com/search?num=5&q=RpcRaiseException+site%3Adocs.microsoft.com) | |
+[RpcRevertContainerImpersonation](https://www.google.com/search?num=5&q=RpcRevertContainerImpersonation+site%3Adocs.microsoft.com) | |
+[RpcRevertToSelf](https://www.google.com/search?num=5&q=RpcRevertToSelf+site%3Adocs.microsoft.com) | |
+[RpcRevertToSelfEx](https://www.google.com/search?num=5&q=RpcRevertToSelfEx+site%3Adocs.microsoft.com) | |
+[RpcServerCompleteSecurityCallback](https://www.google.com/search?num=5&q=RpcServerCompleteSecurityCallback+site%3Adocs.microsoft.com) | |
+[RpcServerInqBindingHandle](https://www.google.com/search?num=5&q=RpcServerInqBindingHandle+site%3Adocs.microsoft.com) | |
+[RpcServerInqBindings](https://www.google.com/search?num=5&q=RpcServerInqBindings+site%3Adocs.microsoft.com) | |
+[RpcServerInqBindingsEx](https://www.google.com/search?num=5&q=RpcServerInqBindingsEx+site%3Adocs.microsoft.com) | |
+[RpcServerInqCallAttributes](https://www.google.com/search?num=5&q=RpcServerInqCallAttributesA+site%3Adocs.microsoft.com) | |
+[RpcServerInqDefaultPrincName](https://www.google.com/search?num=5&q=RpcServerInqDefaultPrincNameA+site%3Adocs.microsoft.com) | |
+[RpcServerInqIf](https://www.google.com/search?num=5&q=RpcServerInqIf+site%3Adocs.microsoft.com) | |
+[RpcServerInterfaceGroupActivate](https://www.google.com/search?num=5&q=RpcServerInterfaceGroupActivate+site%3Adocs.microsoft.com) | |
+[RpcServerInterfaceGroupClose](https://www.google.com/search?num=5&q=RpcServerInterfaceGroupClose+site%3Adocs.microsoft.com) | |
+[RpcServerInterfaceGroupCreate](https://www.google.com/search?num=5&q=RpcServerInterfaceGroupCreateA+site%3Adocs.microsoft.com) | |
+[RpcServerInterfaceGroupDeactivate](https://www.google.com/search?num=5&q=RpcServerInterfaceGroupDeactivate+site%3Adocs.microsoft.com) | |
+[RpcServerInterfaceGroupInqBindings](https://www.google.com/search?num=5&q=RpcServerInterfaceGroupInqBindings+site%3Adocs.microsoft.com) | |
+[RpcServerListen](https://www.google.com/search?num=5&q=RpcServerListen+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcServerListen](https://github.com/dahall/Vanara/search?l=C%23&q=RpcServerListen)
+[RpcServerRegisterAuthInfo](https://www.google.com/search?num=5&q=RpcServerRegisterAuthInfoA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcServerRegisterAuthInfo](https://github.com/dahall/Vanara/search?l=C%23&q=RpcServerRegisterAuthInfo)
+[RpcServerRegisterIf](https://www.google.com/search?num=5&q=RpcServerRegisterIf+site%3Adocs.microsoft.com) | |
+[RpcServerRegisterIf2](https://www.google.com/search?num=5&q=RpcServerRegisterIf2+site%3Adocs.microsoft.com) | |
+[RpcServerRegisterIf3](https://www.google.com/search?num=5&q=RpcServerRegisterIf3+site%3Adocs.microsoft.com) | |
+[RpcServerRegisterIfEx](https://www.google.com/search?num=5&q=RpcServerRegisterIfEx+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcServerRegisterIfEx](https://github.com/dahall/Vanara/search?l=C%23&q=RpcServerRegisterIfEx)
+[RpcServerSubscribeForNotification](https://www.google.com/search?num=5&q=RpcServerSubscribeForNotification+site%3Adocs.microsoft.com) | |
+[RpcServerTestCancel](https://www.google.com/search?num=5&q=RpcServerTestCancel+site%3Adocs.microsoft.com) | |
+[RpcServerUnregisterIf](https://www.google.com/search?num=5&q=RpcServerUnregisterIf+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcServerUnregisterIf](https://github.com/dahall/Vanara/search?l=C%23&q=RpcServerUnregisterIf)
+[RpcServerUnregisterIfEx](https://www.google.com/search?num=5&q=RpcServerUnregisterIfEx+site%3Adocs.microsoft.com) | |
+[RpcServerUnsubscribeForNotification](https://www.google.com/search?num=5&q=RpcServerUnsubscribeForNotification+site%3Adocs.microsoft.com) | |
+[RpcServerUseAllProtseqs](https://www.google.com/search?num=5&q=RpcServerUseAllProtseqs+site%3Adocs.microsoft.com) | |
+[RpcServerUseAllProtseqsEx](https://www.google.com/search?num=5&q=RpcServerUseAllProtseqsEx+site%3Adocs.microsoft.com) | |
+[RpcServerUseAllProtseqsIf](https://www.google.com/search?num=5&q=RpcServerUseAllProtseqsIf+site%3Adocs.microsoft.com) | |
+[RpcServerUseAllProtseqsIfEx](https://www.google.com/search?num=5&q=RpcServerUseAllProtseqsIfEx+site%3Adocs.microsoft.com) | |
+[RpcServerUseProtseq](https://www.google.com/search?num=5&q=RpcServerUseProtseqA+site%3Adocs.microsoft.com) | |
+[RpcServerUseProtseqEp](https://www.google.com/search?num=5&q=RpcServerUseProtseqEpA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcServerUseProtseqEp](https://github.com/dahall/Vanara/search?l=C%23&q=RpcServerUseProtseqEp)
+[RpcServerUseProtseqEpEx](https://www.google.com/search?num=5&q=RpcServerUseProtseqEpExA+site%3Adocs.microsoft.com) | |
+[RpcServerUseProtseqEx](https://www.google.com/search?num=5&q=RpcServerUseProtseqExA+site%3Adocs.microsoft.com) | |
+[RpcServerUseProtseqIf](https://www.google.com/search?num=5&q=RpcServerUseProtseqIfA+site%3Adocs.microsoft.com) | |
+[RpcServerUseProtseqIfEx](https://www.google.com/search?num=5&q=RpcServerUseProtseqIfExA+site%3Adocs.microsoft.com) | |
+[RpcServerYield](https://www.google.com/search?num=5&q=RpcServerYield+site%3Adocs.microsoft.com) | |
+[RpcSmAllocate](https://www.google.com/search?num=5&q=RpcSmAllocate+site%3Adocs.microsoft.com) | |
+[RpcSmClientFree](https://www.google.com/search?num=5&q=RpcSmClientFree+site%3Adocs.microsoft.com) | |
+[RpcSmDestroyClientContext](https://www.google.com/search?num=5&q=RpcSmDestroyClientContext+site%3Adocs.microsoft.com) | |
+[RpcSmDisableAllocate](https://www.google.com/search?num=5&q=RpcSmDisableAllocate+site%3Adocs.microsoft.com) | |
+[RpcSmEnableAllocate](https://www.google.com/search?num=5&q=RpcSmEnableAllocate+site%3Adocs.microsoft.com) | |
+[RpcSmFree](https://www.google.com/search?num=5&q=RpcSmFree+site%3Adocs.microsoft.com) | |
+[RpcSmGetThreadHandle](https://www.google.com/search?num=5&q=RpcSmGetThreadHandle+site%3Adocs.microsoft.com) | |
+[RpcSmSetClientAllocFree](https://www.google.com/search?num=5&q=RpcSmSetClientAllocFree+site%3Adocs.microsoft.com) | |
+[RpcSmSetThreadHandle](https://www.google.com/search?num=5&q=RpcSmSetThreadHandle+site%3Adocs.microsoft.com) | |
+[RpcSmSwapClientAllocFree](https://www.google.com/search?num=5&q=RpcSmSwapClientAllocFree+site%3Adocs.microsoft.com) | |
+[RpcSsAllocate](https://www.google.com/search?num=5&q=RpcSsAllocate+site%3Adocs.microsoft.com) | |
+[RpcSsContextLockExclusive](https://www.google.com/search?num=5&q=RpcSsContextLockExclusive+site%3Adocs.microsoft.com) | |
+[RpcSsContextLockShared](https://www.google.com/search?num=5&q=RpcSsContextLockShared+site%3Adocs.microsoft.com) | |
+[RpcSsDestroyClientContext](https://www.google.com/search?num=5&q=RpcSsDestroyClientContext+site%3Adocs.microsoft.com) | |
+[RpcSsDisableAllocate](https://www.google.com/search?num=5&q=RpcSsDisableAllocate+site%3Adocs.microsoft.com) | |
+[RpcSsDontSerializeContext](https://www.google.com/search?num=5&q=RpcSsDontSerializeContext+site%3Adocs.microsoft.com) | |
+[RpcSsEnableAllocate](https://www.google.com/search?num=5&q=RpcSsEnableAllocate+site%3Adocs.microsoft.com) | |
+[RpcSsFree](https://www.google.com/search?num=5&q=RpcSsFree+site%3Adocs.microsoft.com) | |
+[RpcSsGetContextBinding](https://www.google.com/search?num=5&q=RpcSsGetContextBinding+site%3Adocs.microsoft.com) | |
+[RpcSsGetThreadHandle](https://www.google.com/search?num=5&q=RpcSsGetThreadHandle+site%3Adocs.microsoft.com) | |
+[RpcSsSetClientAllocFree](https://www.google.com/search?num=5&q=RpcSsSetClientAllocFree+site%3Adocs.microsoft.com) | |
+[RpcSsSetThreadHandle](https://www.google.com/search?num=5&q=RpcSsSetThreadHandle+site%3Adocs.microsoft.com) | |
+[RpcSsSwapClientAllocFree](https://www.google.com/search?num=5&q=RpcSsSwapClientAllocFree+site%3Adocs.microsoft.com) | |
+[RpcStringBindingCompose](https://www.google.com/search?num=5&q=RpcStringBindingComposeA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcStringBindingCompose](https://github.com/dahall/Vanara/search?l=C%23&q=RpcStringBindingCompose)
+[RpcStringBindingParse](https://www.google.com/search?num=5&q=RpcStringBindingParseA+site%3Adocs.microsoft.com) | |
+[RpcStringFree](https://www.google.com/search?num=5&q=RpcStringFreeA+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RpcStringFree](https://github.com/dahall/Vanara/search?l=C%23&q=RpcStringFree)
+[RpcTestCancel](https://www.google.com/search?num=5&q=RpcTestCancel+site%3Adocs.microsoft.com) | |
+[RpcUserFree](https://www.google.com/search?num=5&q=RpcUserFree+site%3Adocs.microsoft.com) | |
+[SimpleTypeAlignment](https://www.google.com/search?num=5&q=SimpleTypeAlignment+site%3Adocs.microsoft.com) | |
+[SimpleTypeBufferSize](https://www.google.com/search?num=5&q=SimpleTypeBufferSize+site%3Adocs.microsoft.com) | |
+[SimpleTypeMemorySize](https://www.google.com/search?num=5&q=SimpleTypeMemorySize+site%3Adocs.microsoft.com) | |
+[TowerConstruct](https://www.google.com/search?num=5&q=TowerConstruct+site%3Adocs.microsoft.com) | |
+[TowerExplode](https://www.google.com/search?num=5&q=TowerExplode+site%3Adocs.microsoft.com) | |
+[UuidCompare](https://www.google.com/search?num=5&q=UuidCompare+site%3Adocs.microsoft.com) | |
+[UuidCreate](https://www.google.com/search?num=5&q=UuidCreate+site%3Adocs.microsoft.com) | |
+[UuidCreateNil](https://www.google.com/search?num=5&q=UuidCreateNil+site%3Adocs.microsoft.com) | |
+[UuidCreateSequential](https://www.google.com/search?num=5&q=UuidCreateSequential+site%3Adocs.microsoft.com) | |
+[UuidEqual](https://www.google.com/search?num=5&q=UuidEqual+site%3Adocs.microsoft.com) | |
+[UuidFromString](https://www.google.com/search?num=5&q=UuidFromStringA+site%3Adocs.microsoft.com) | |
+[UuidHash](https://www.google.com/search?num=5&q=UuidHash+site%3Adocs.microsoft.com) | |
+[UuidIsNil](https://www.google.com/search?num=5&q=UuidIsNil+site%3Adocs.microsoft.com) | |
+[UuidToString](https://www.google.com/search?num=5&q=UuidToStringA+site%3Adocs.microsoft.com) | |
+### Structures
+Native Structure | Header | Managed Structure
+--- | --- | ---
+[MIDL_SERVER_INFO](https://www.google.com/search?num=5&q=MIDL_SERVER_INFO+site%3Adocs.microsoft.com) | rpcndr.h | [Vanara.PInvoke.Rpc.MIDL_SERVER_INFO](https://github.com/dahall/Vanara/search?l=C%23&q=MIDL_SERVER_INFO)
+[MIDL_STUB_DESC](https://www.google.com/search?num=5&q=MIDL_STUB_DESC+site%3Adocs.microsoft.com) | rpcndr.h | [Vanara.PInvoke.Rpc.MIDL_STUB_DESC](https://github.com/dahall/Vanara/search?l=C%23&q=MIDL_STUB_DESC)
+[RPC_AUTH_IDENTITY_HANDLE](https://www.google.com/search?num=5&q=RPC_AUTH_IDENTITY_HANDLE+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_AUTH_IDENTITY_HANDLE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_AUTH_IDENTITY_HANDLE)
+[RPC_AUTHZ_HANDLE](https://www.google.com/search?num=5&q=RPC_AUTHZ_HANDLE+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_AUTHZ_HANDLE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_AUTHZ_HANDLE)
+[RPC_BINDING_HANDLE](https://www.google.com/search?num=5&q=RPC_BINDING_HANDLE+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_BINDING_HANDLE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_BINDING_HANDLE)
+[RPC_BINDING_HANDLE_OPTIONS_V1](https://www.google.com/search?num=5&q=RPC_BINDING_HANDLE_OPTIONS_V1+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_BINDING_HANDLE_OPTIONS_V1](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_BINDING_HANDLE_OPTIONS_V1)
+[RPC_BINDING_HANDLE_SECURITY_V1](https://www.google.com/search?num=5&q=RPC_BINDING_HANDLE_SECURITY_V1+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_BINDING_HANDLE_SECURITY_V1](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_BINDING_HANDLE_SECURITY_V1)
+[RPC_BINDING_HANDLE_TEMPLATE_V1](https://www.google.com/search?num=5&q=RPC_BINDING_HANDLE_TEMPLATE_V1+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_BINDING_HANDLE_TEMPLATE_V1](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_BINDING_HANDLE_TEMPLATE_V1)
+[RPC_BINDING_VECTOR](https://www.google.com/search?num=5&q=RPC_BINDING_VECTOR+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_BINDING_VECTOR](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_BINDING_VECTOR)
+[RPC_CLIENT_INTERFACE](https://www.google.com/search?num=5&q=RPC_CLIENT_INTERFACE+site%3Adocs.microsoft.com) | rpcdcep.h | [Vanara.PInvoke.Rpc.RPC_CLIENT_INTERFACE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_CLIENT_INTERFACE)
+[RPC_DISPATCH_TABLE](https://www.google.com/search?num=5&q=RPC_DISPATCH_TABLE+site%3Adocs.microsoft.com) | rpcdcep.h | [Vanara.PInvoke.Rpc.RPC_DISPATCH_TABLE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_DISPATCH_TABLE)
+[RPC_ENDPOINT_TEMPLATE](https://www.google.com/search?num=5&q=RPC_ENDPOINT_TEMPLATE+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_ENDPOINT_TEMPLATE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_ENDPOINT_TEMPLATE)
+[RPC_HTTP_TRANSPORT_CREDENTIALS](https://www.google.com/search?num=5&q=RPC_HTTP_TRANSPORT_CREDENTIALS+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_HTTP_TRANSPORT_CREDENTIALS](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_HTTP_TRANSPORT_CREDENTIALS)
+[RPC_HTTP_TRANSPORT_CREDENTIALS_V2](https://www.google.com/search?num=5&q=RPC_HTTP_TRANSPORT_CREDENTIALS_V2+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_HTTP_TRANSPORT_CREDENTIALS_V2](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_HTTP_TRANSPORT_CREDENTIALS_V2)
+[RPC_HTTP_TRANSPORT_CREDENTIALS_V3](https://www.google.com/search?num=5&q=RPC_HTTP_TRANSPORT_CREDENTIALS_V3+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_HTTP_TRANSPORT_CREDENTIALS_V3](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_HTTP_TRANSPORT_CREDENTIALS_V3)
+[RPC_IF_HANDLE](https://www.google.com/search?num=5&q=RPC_IF_HANDLE+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_IF_HANDLE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_IF_HANDLE)
+[RPC_IF_ID](https://www.google.com/search?num=5&q=RPC_IF_ID+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_IF_ID](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_IF_ID)
+[RPC_IF_ID_VECTOR](https://www.google.com/search?num=5&q=RPC_IF_ID_VECTOR+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_IF_ID_VECTOR](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_IF_ID_VECTOR)
+[RPC_INTERFACE_GROUP](https://www.google.com/search?num=5&q=RPC_INTERFACE_GROUP+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_INTERFACE_GROUP](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_INTERFACE_GROUP)
+[RPC_INTERFACE_TEMPLATE](https://www.google.com/search?num=5&q=RPC_INTERFACE_TEMPLATE+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_INTERFACE_TEMPLATE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_INTERFACE_TEMPLATE)
+[RPC_MESSAGE](https://www.google.com/search?num=5&q=RPC_MESSAGE+site%3Adocs.microsoft.com) | rpcdcep.h | [Vanara.PInvoke.Rpc.RPC_MESSAGE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_MESSAGE)
+[RPC_POLICY](https://www.google.com/search?num=5&q=RPC_POLICY+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_POLICY](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_POLICY)
+[RPC_PROTSEQ_ENDPOINT](https://www.google.com/search?num=5&q=RPC_PROTSEQ_ENDPOINT+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_PROTSEQ_ENDPOINT](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_PROTSEQ_ENDPOINT)
+[RPC_PROTSEQ_VECTOR](https://www.google.com/search?num=5&q=RPC_PROTSEQ_VECTOR+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_PROTSEQ_VECTOR](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_PROTSEQ_VECTOR)
+[RPC_SECURITY_QOS](https://www.google.com/search?num=5&q=RPC_SECURITY_QOS+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_SECURITY_QOS](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SECURITY_QOS)
+[RPC_SECURITY_QOS_V2](https://www.google.com/search?num=5&q=RPC_SECURITY_QOS_V2+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_SECURITY_QOS_V2](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SECURITY_QOS_V2)
+[RPC_SECURITY_QOS_V3](https://www.google.com/search?num=5&q=RPC_SECURITY_QOS_V3+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_SECURITY_QOS_V3](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SECURITY_QOS_V3)
+[RPC_SECURITY_QOS_V4](https://www.google.com/search?num=5&q=RPC_SECURITY_QOS_V4+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_SECURITY_QOS_V4](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SECURITY_QOS_V4)
+[RPC_SECURITY_QOS_V5](https://www.google.com/search?num=5&q=RPC_SECURITY_QOS_V5+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_SECURITY_QOS_V5](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SECURITY_QOS_V5)
+[RPC_SERVER_INTERFACE](https://www.google.com/search?num=5&q=RPC_SERVER_INTERFACE+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_SERVER_INTERFACE](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SERVER_INTERFACE)
+[RPC_STATS_VECTOR](https://www.google.com/search?num=5&q=RPC_STATS_VECTOR+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.RPC_STATS_VECTOR](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_STATS_VECTOR)
+[RPC_SYNTAX_IDENTIFIER](https://www.google.com/search?num=5&q=RPC_SYNTAX_IDENTIFIER+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_SYNTAX_IDENTIFIER](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_SYNTAX_IDENTIFIER)
+[RPC_VERSION](https://www.google.com/search?num=5&q=RPC_VERSION+site%3Adocs.microsoft.com) | | [Vanara.PInvoke.Rpc.RPC_VERSION](https://github.com/dahall/Vanara/search?l=C%23&q=RPC_VERSION)
+[SEC_WINNT_AUTH_IDENTITY](https://www.google.com/search?num=5&q=SEC_WINNT_AUTH_IDENTITY+site%3Adocs.microsoft.com) | sspi.h | [Vanara.PInvoke.Rpc.SEC_WINNT_AUTH_IDENTITY](https://github.com/dahall/Vanara/search?l=C%23&q=SEC_WINNT_AUTH_IDENTITY)
+[UUID_VECTOR](https://www.google.com/search?num=5&q=UUID_VECTOR+site%3Adocs.microsoft.com) | rpcdce.h | [Vanara.PInvoke.Rpc.UUID_VECTOR](https://github.com/dahall/Vanara/search?l=C%23&q=UUID_VECTOR)
diff --git a/PInvoke/Rpc/RpcDceP.cs b/PInvoke/Rpc/RpcDceP.cs
new file mode 100644
index 00000000..0e052c00
--- /dev/null
+++ b/PInvoke/Rpc/RpcDceP.cs
@@ -0,0 +1,246 @@
+using System;
+using System.Runtime.InteropServices;
+using Vanara.Extensions;
+using Vanara.InteropServices;
+
+namespace Vanara.PInvoke
+{
+ /// Items from the Rpc.dll
+ public static partial class Rpc
+ {
+ /// Dispatch function delegate.
+ /// The message.
+ [UnmanagedFunctionPointer(CallingConvention.Winapi)]
+ public delegate void RPC_DISPATCH_FUNCTION(ref RPC_MESSAGE Message);
+
+ ///
+ ///
+ /// [The I_RpcBindingInqLocalClientPID function is available for use in the operating systems specified in the Requirements
+ /// section. Instead, call RpcServerInqCallAttributes.]
+ ///
+ /// The I_RpcBindingInqLocalClientPID function obtains a client process ID.
+ ///
+ ///
+ /// RPC_BINDING_HANDLE that specifies the binding handle for an explicit RPC binding from the client to a server application.
+ ///
+ /// Contains the process ID of the client that issued the call upon return.
+ ///
+ ///
+ ///
+ /// Value
+ /// Meaning
+ ///
+ /// -
+ /// RPC_S_OK
+ /// The function call was successful.
+ ///
+ /// -
+ /// RPC_S_NO_CALL_ACTIVE
+ /// The current thread does not have an active RPC call.
+ ///
+ /// -
+ /// RPC_S_INVALID_BINDING
+ /// The RPC binding handle is invalid.
+ ///
+ ///
+ /// Note For a list of valid error codes, see RPC Return Values.
+ ///
+ ///
+ /// The client process ID is only returned in ClientBinding when the "ncalrpc" protocol sequence is used. Until the process
+ /// terminates, the process ID value uniquely identifies it on the client. When the process terminates, the process ID can be used
+ /// by new processes.
+ ///
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcdcep/nf-rpcdcep-i_rpcbindinginqlocalclientpid RPC_STATUS
+ // I_RpcBindingInqLocalClientPID( RPC_BINDING_HANDLE Binding, unsigned long *Pid );
+ [DllImport(Lib_rpcrt4, SetLastError = false, ExactSpelling = true)]
+ [PInvokeData("rpcdcep.h", MSDNShortId = "NF:rpcdcep.I_RpcBindingInqLocalClientPID")]
+ public static extern Win32Error I_RpcBindingInqLocalClientPID(RPC_BINDING_HANDLE Binding, out uint Pid);
+
+ ///
+ ///
+ /// 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.
+ ///
+ /// The data structure is defined in the header file Rpcdcep.h. See the header file for syntax block and member definitions.
+ ///
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcdcep/ns-rpcdcep-rpc_client_interface 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; void const *InterpreterInfo;
+ // unsigned int Flags; } RPC_CLIENT_INTERFACE, *PRPC_CLIENT_INTERFACE;
+ [PInvokeData("rpcdcep.h", MSDNShortId = "NS:rpcdcep._RPC_CLIENT_INTERFACE")]
+ [StructLayout(LayoutKind.Sequential)]
+ public unsafe struct RPC_CLIENT_INTERFACE
+ {
+ ///
+ public uint Length;
+
+ ///
+ public RPC_SYNTAX_IDENTIFIER InterfaceId;
+
+ ///
+ public RPC_SYNTAX_IDENTIFIER TransferSyntax;
+
+ ///
+ public RPC_DISPATCH_TABLE* DispatchTable;
+
+ ///
+ public uint RpcProtseqEndpointCount;
+
+ ///
+ public RPC_PROTSEQ_ENDPOINT* RpcProtseqEndpoint;
+
+ ///
+ public UIntPtr Reserved;
+
+ ///
+ public IntPtr InterpreterInfo;
+
+ ///
+ public uint Flags;
+ }
+
+ ///
+ ///
+ /// 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.
+ ///
+ /// The structure is defined in the header file Rpcdcep.h. See the header file for syntax block and member definitions.
+ ///
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcdcep/ns-rpcdcep-rpc_dispatch_table typedef struct { unsigned int
+ // DispatchTableCount; RPC_DISPATCH_FUNCTION *DispatchTable; LONG_PTR Reserved; } RPC_DISPATCH_TABLE, *PRPC_DISPATCH_TABLE;
+ [PInvokeData("rpcdcep.h", MSDNShortId = "NS:rpcdcep.__unnamed_struct_0")]
+ [StructLayout(LayoutKind.Sequential)]
+ public struct RPC_DISPATCH_TABLE
+ {
+ ///
+ public uint DispatchTableCount;
+
+ ///
+ public IntPtr DispatchTable;
+
+ ///
+ public IntPtr Reserved;
+
+ ///
+ public IntPtr[] GetDispatchTable() => DispatchTable.ToArray((int)DispatchTableCount);
+ }
+
+ /// The RPC_MESSAGE structure contains information shared between NDR and the rest of the RPC or OLE runtime.
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcdcep/ns-rpcdcep-rpc_message typedef struct _RPC_MESSAGE {
+ // RPC_BINDING_HANDLE Handle; unsigned long DataRepresentation; void *Buffer; unsigned int BufferLength; unsigned int ProcNum;
+ // PRPC_SYNTAX_IDENTIFIER TransferSyntax; void *RpcInterfaceInformation; void *ReservedForRuntime; RPC_MGR_EPV *ManagerEpv; void
+ // *ImportContext; unsigned long RpcFlags; } RPC_MESSAGE, *PRPC_MESSAGE;
+ [PInvokeData("rpcdcep.h", MSDNShortId = "NS:rpcdcep._RPC_MESSAGE")]
+ [StructLayout(LayoutKind.Sequential)]
+ public unsafe struct RPC_MESSAGE
+ {
+ /// Reserved.
+ public RPC_BINDING_HANDLE Handle;
+
+ /// Data representation of the network buffer as defined by the NDR specification.
+ public uint DataRepresentation;
+
+ /// Pointer to the beginning of the network buffer.
+ public IntPtr Buffer;
+
+ /// Size, in bytes, of Buffer.
+ public uint BufferLength;
+
+ /// Reserved.
+ public uint ProcNum;
+
+ /// Reserved.
+ public RPC_SYNTAX_IDENTIFIER* TransferSyntax;
+
+ /// Reserved.
+ public IntPtr RpcInterfaceInformation;
+
+ /// Reserved.
+ public IntPtr ReservedForRuntime;
+
+ /// Reserved.
+ public IntPtr ManagerEpv;
+
+ /// Reserved.
+ public IntPtr ImportContext;
+
+ /// Reserved.
+ public uint RpcFlags;
+ }
+
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct RPC_PROTSEQ_ENDPOINT
+ {
+ ///
+ public StrPtrAnsi RpcProtocolSequence;
+
+ ///
+ public StrPtrAnsi Endpoint;
+ }
+
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public unsafe struct RPC_SERVER_INTERFACE
+ {
+ ///
+ public uint Length;
+
+ ///
+ public RPC_SYNTAX_IDENTIFIER InterfaceId;
+
+ ///
+ public RPC_SYNTAX_IDENTIFIER TransferSyntax;
+
+ ///
+ public RPC_DISPATCH_TABLE* DispatchTable;
+
+ ///
+ public uint RpcProtseqEndpointCount;
+
+ ///
+ public RPC_PROTSEQ_ENDPOINT* RpcProtseqEndpoint;
+
+ ///
+ public IntPtr DefaultManagerEpv;
+
+ ///
+ public IntPtr InterpreterInfo;
+
+ ///
+ public uint Flags;
+ }
+
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct RPC_SYNTAX_IDENTIFIER
+ {
+ ///
+ public Guid SyntaxGUID;
+
+ ///
+ public RPC_VERSION SyntaxVersion;
+
+ /// Initializes a new instance of the struct.
+ /// The syntax.
+ /// The maj ver.
+ /// The minimum ver.
+ public RPC_SYNTAX_IDENTIFIER(in Guid syntax, ushort majVer, ushort minVer = 0)
+ {
+ SyntaxGUID = syntax;
+ SyntaxVersion = new RPC_VERSION { MajorVersion = majVer, MinorVersion = minVer };
+ }
+ }
+
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public struct RPC_VERSION
+ {
+ ///
+ public ushort MajorVersion;
+
+ ///
+ public ushort MinorVersion;
+ }
+ }
+}
\ No newline at end of file
diff --git a/PInvoke/Rpc/RpcNdr.cs b/PInvoke/Rpc/RpcNdr.cs
new file mode 100644
index 00000000..a2a9c0e8
--- /dev/null
+++ b/PInvoke/Rpc/RpcNdr.cs
@@ -0,0 +1,196 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Vanara.PInvoke
+{
+ /// Items from the Rpc.dll
+ public static partial class Rpc
+ {
+ ///
+ ///
+ public unsafe delegate int SERVER_ROUTINE();
+
+ /// The NdrClientCall2 function is the client-side entry point for the /Oicf mode stub.
+ ///
+ /// Pointer to the MIDL-generated MIDL_STUB_DESC structure that contains information about the description of the remote interface.
+ ///
+ /// Pointer to the MIDL-generated procedure format string that describes the method and parameters.
+ /// Pointer to the client-side calling stack.
+ ///
+ ///
+ /// Return value of the remote call. The maximum size of a return value is equivalent to the register size of the system. MIDL
+ /// switches to the /Os mode stub if the return value size is larger than the register size.
+ ///
+ /// Depending on the method definition, this function can throw an exception if there is a network or server failure.
+ ///
+ ///
+ /// The NdrClientCall2 function is used by all /Oicf mode client-side stubs. The NdrClientCall2 function transmits all
+ /// [in] data to the remote server, and upon receipt of the response packet, returns the [out] value to the client-side application.
+ ///
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcndr/nf-rpcndr-ndrclientcall2 CLIENT_CALL_RETURN RPC_VAR_ENTRY
+ // NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
+ [DllImport(Lib_rpcrt4, SetLastError = false, ExactSpelling = true)]
+ [PInvokeData("rpcndr.h", MSDNShortId = "NF:rpcndr.NdrClientCall2")]
+ public static extern IntPtr NdrClientCall2(/*PMIDL_STUB_DESC*/ IntPtr pStubDescriptor, /*PFORMAT_STRING*/ IntPtr pFormat, IntPtr pArguments);
+
+ /// Converts a value to a four-byte array.
+ /// The value.
+ /// The byte array.
+ public static byte[] NdrFcLong(int s) => new[] { (byte)(s & 0xff), (byte)((s & 0x0000ff00) >> 8), (byte)((s & 0x00ff0000) >> 16), (byte)(s >> 24) };
+
+ /// Converts a value to a two-byte array.
+ /// The value.
+ /// The byte array.
+ public static byte[] NdrFcShort(int s) => new[] { (byte)(s & 0xff), (byte)(s >> 8) };
+
+ ///
+ [PInvokeData("rpcndr.h")]
+ [StructLayout(LayoutKind.Sequential)]
+ public struct MIDL_SERVER_INFO
+ {
+ ///
+ public IntPtr /* PMIDL_STUB_DESC */ pStubDesc;
+
+ ///
+ public IntPtr /* const SERVER_ROUTINE* */ DispatchTable;
+
+ ///
+ public IntPtr /* PFORMAT_STRING */ ProcString;
+
+ ///
+ public IntPtr /* const unsigned short* */ FmtStringOffset;
+
+ ///
+ public IntPtr /* const STUB_THUNK* */ ThunkTable;
+
+ ///
+ public IntPtr /* PRPC_SYNTAX_IDENTIFIER */ pTransferSyntax;
+
+ ///
+ public IntPtr /* ULONG_PTR */ nCount;
+
+ ///
+ public IntPtr /* PMIDL_SYNTAX_INFO */ pSyntaxInfo;
+ }
+
+ ///
+ /// 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.
+ ///
+ // https://docs.microsoft.com/en-us/windows/win32/api/rpcndr/ns-rpcndr-midl_stub_desc typedef struct _MIDL_STUB_DESC { void
+ // *RpcInterfaceInformation; void * )(size_t) *(pfnAllocate; void()(void *) * pfnFree; union { handle_t *pAutoHandle; handle_t
+ // *pPrimitiveHandle; PGENERIC_BINDING_INFO pGenericBindingInfo; } IMPLICIT_HANDLE_INFO; const NDR_RUNDOWN *apfnNdrRundownRoutines;
+ // const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs; const EXPR_EVAL *apfnExprEval; const XMIT_ROUTINE_QUINTUPLE
+ // *aXmitQuintuple; const unsigned char *pFormatTypes; int fCheckBounds; unsigned long Version; MALLOC_FREE_STRUCT
+ // *pMallocFreeStruct; long MIDLVersion; const COMM_FAULT_OFFSETS *CommFaultOffsets; const USER_MARSHAL_ROUTINE_QUADRUPLE
+ // *aUserMarshalQuadruple; const NDR_NOTIFY_ROUTINE *NotifyRoutineTable; ULONG_PTR mFlags; const NDR_CS_ROUTINES *CsRoutineTables;
+ // void *ProxyServerInfo; const NDR_EXPR_DESC *pExprInfo; } MIDL_STUB_DESC;
+ [PInvokeData("rpcndr.h", MSDNShortId = "NS:rpcndr._MIDL_STUB_DESC")]
+ [StructLayout(LayoutKind.Sequential)]
+ public struct MIDL_STUB_DESC
+ {
+ ///
+ /// For a nonobject RPC interface on the server-side, it points to an RPC server interface structure. On the client-side, it
+ /// points to an RPC client interface structure. It is null for an object interface.
+ ///
+ public IntPtr RpcInterfaceInformation;
+
+ ///
+ /// Memory allocation function to be used by the stub. Set to midl_user_allocate for nonobject interface and NdrOleAllocate for
+ /// object interface.
+ ///
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public Func pfnAllocate;
+
+ ///
+ /// Memory-free function to be used by the stub. Set to midl_user_free for nonobject interface and NdrOleFree for object interface.
+ ///
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public Action pfnFree;
+
+ ///
+ /// The union contains one of the following handles.
+ ///
+ /// - Pointer to the implicit auto handle for the RPC call.
+ /// - Pointer to the implicit primitive handle for the RPC call.
+ /// - Pointer to the information about the implicit generic handle.
+ ///
+ ///
+ public IntPtr pImplicitHandleInfo;
+
+ /// Array of context handle rundown functions.
+ public IntPtr apfnNdrRundownRoutines;
+
+ /// Array of function pointers to bind and unbind function pairs for the implicit generic handle.
+ public IntPtr aGenericBindingRoutinePairs;
+
+ ///
+ /// Array of function pointers to expression evaluator functions used to evaluate MIDL complex conformance and varying
+ /// descriptions. For example, size_is(param1 + param2).
+ ///
+ public IntPtr apfnExprEval;
+
+ /// Array of an array of function pointers for user-defined transmit_as and represent_as types.
+ public IntPtr aXmitQuintuple;
+
+ /// Pointer to the type format description.
+ public IntPtr pFormatTypes;
+
+ /// Flag describing the user-specified /error MIDL compiler option.
+ public int fCheckBounds;
+
+ /// NDR version required for the stub.
+ public uint Version;
+
+ ///
+ /// Pointer to the MALLOC_FREE_STRUCT structure which contains the allocate and free function pointers. Use if the
+ /// enable_allocate MIDL attribute is specified.
+ ///
+ public IntPtr pMallocFreeStruct;
+
+ /// Version of the MIDL compiler used to compile the .idl file.
+ public long MIDLVersion;
+
+ /// Array of stack offsets for parameters with comm_status or fault_status attributes.
+ public IntPtr CommFaultOffsets;
+
+ /// Array of an array of function pointers for user-defined user_marshal and wire_marshal types.
+ public IntPtr aUserMarshalQuadruple;
+
+ /// Array of notification function pointers for methods with the notify or notify_flag attribute specified.
+ public IntPtr NotifyRoutineTable;
+
+ ///
+ /// Flag describing the attributes of the stub
+ ///
+ ///
+ /// Value
+ /// Meaning
+ ///
+ /// -
+ /// RPCFLG_HAS_MULTI_SYNTAXES
+ /// Set if the stub supports multiple transfer syntaxes.
+ ///
+ /// -
+ /// RPCFLG_HAS_CALLBACK
+ /// Set if the interface contains callback functions.
+ ///
+ /// -
+ /// RPC_INTERFACE_HAS_PIPES
+ /// Set if the interface contains a method that uses pipes.
+ ///
+ ///
+ ///
+ public UIntPtr mFlags;
+
+ /// Unused.
+ public IntPtr CsRoutineTables;
+
+ ///
+ public IntPtr ProxyServerInfo;
+
+ ///
+ public IntPtr pExprInfo;
+ }
+ }
+}
\ No newline at end of file
diff --git a/PInvoke/Rpc/Vanara.PInvoke.Rpc.csproj b/PInvoke/Rpc/Vanara.PInvoke.Rpc.csproj
index 9488bc27..b99e36d4 100644
--- a/PInvoke/Rpc/Vanara.PInvoke.Rpc.csproj
+++ b/PInvoke/Rpc/Vanara.PInvoke.Rpc.csproj
@@ -10,7 +10,69 @@
Vanara.PInvoke.Rpc
$(AssemblyName)
pinvoke;vanara;net-extensions;interop;RPC;windows;remote procedure call
-
+ Currently implements:
+
+Functions
+CreateProxyFromTypeInfo, CreateStubFromTypeInfo, CStdStubBuffer_AddRef, CStdStubBuffer_Connect, CStdStubBuffer_CountRefs, CStdStubBuffer_DebugServerQueryInterface, CStdStubBuffer_DebugServerRelease, CStdStubBuffer_Disconnect, CStdStubBuffer_Invoke, CStdStubBuffer_IsIIDSupported, CStdStubBuffer_QueryInterface, DceErrorInqText, I_RpcAllocate, I_RpcAsyncAbortCall, I_RpcAsyncSetHandle, I_RpcBCacheAllocate, I_RpcBCacheFree, I_RpcBindingCopy, I_RpcBindingCreateNP, I_RpcBindingHandleToAsyncHandle, I_RpcBindingInqClientTokenAttributes, I_RpcBindingInqCurrentModifiedId, I_RpcBindingInqDynamicEndpoint, I_RpcBindingInqLocalClientPID, I_RpcBindingInqMarshalledTargetInfo, I_RpcBindingInqSecurityContext, I_RpcBindingInqSecurityContextKeyInfo, I_RpcBindingInqTransportType, I_RpcBindingInqWireIdForSnego, I_RpcBindingIsClientLocal, I_RpcBindingIsServerLocal, I_RpcBindingSetPrivateOption, I_RpcBindingToStaticStringBindingW, I_RpcCertProcessAndProvision, I_RpcClearMutex, I_RpcCompleteAndFree, I_RpcDeleteMutex, I_RpcEnableWmiTrace, I_RpcExceptionFilter, I_RpcFilterDCOMActivation, I_RpcFixTransferSyntax, I_RpcFree, I_RpcFreeBuffer, I_RpcFreePipeBuffer, I_RpcFreeSystemHandle, I_RpcFreeSystemHandleCollection, I_RpcFwThisIsTheManager, I_RpcGetBuffer, I_RpcGetBufferWithObject, I_RpcGetCurrentCallHandle, I_RpcGetDefaultSD, I_RpcGetExtendedError, I_RpcGetPortAllocationData, I_RpcGetSystemHandle, I_RpcIfInqTransferSyntaxes, I_RpcInitFwImports, I_RpcInitHttpImports, I_RpcInitImports, I_RpcInitNdrImports, I_RpcLogEvent, I_RpcMapWin32Status, I_RpcMarshalBindingHandleAndInterfaceForNDF, I_RpcMgmtEnableDedicatedThreadPool, I_RpcMgmtQueryDedicatedThreadPool, I_RpcNDRCGetWireRepresentation, I_RpcNDRSContextEmergencyCleanup, I_RpcNegotiateTransferSyntax, I_RpcNsBindingSetEntryName, I_RpcNsInterfaceExported, I_RpcNsInterfaceUnexported, I_RpcOpenClientProcess, I_RpcOpenClientThread, I_RpcParseSecurity, I_RpcPauseExecution, I_RpcReallocPipeBuffer, I_RpcReceive, I_RpcRecordCalloutFailure, I_RpcRequestMutex, I_RpcSend, I_RpcSendReceive, I_RpcServerAllocateIpPort, I_RpcServerCheckClientRestriction, I_RpcServerDisableExceptionFilter, I_RpcServerGetAssociationID, I_RpcServerInqAddressChangeFn, I_RpcServerInqLocalConnAddress, I_RpcServerInqRemoteConnAddress, I_RpcServerInqTransportType, I_RpcServerIsClientDisconnected, I_RpcServerRegisterForwardFunction, I_RpcServerSetAddressChangeFn, I_RpcServerStartService, I_RpcServerSubscribeForDisconnectNotification, I_RpcServerSubscribeForDisconnectNotification2, I_RpcServerTurnOnOffKeepalives, I_RpcServerUnsubscribeForDisconnectNotification, I_RpcServerUseProtseq2, I_RpcServerUseProtseqEp2, I_RpcSessionStrictContextHandle, I_RpcSetDCOMAppId, I_RpcSetSystemHandle, I_RpcSNCHOption, I_RpcSsDontSerializeContext, I_RpcSystemFunction001, I_RpcSystemHandleTypeSpecificWork, I_RpcTransConnectionAllocatePacket, I_RpcTransConnectionFreePacket, I_RpcTransConnectionReallocPacket, I_RpcTransDatagramAllocate, I_RpcTransDatagramAllocate2, I_RpcTransDatagramFree, I_RpcTransGetThreadEvent, I_RpcTransGetThreadEventThreadOptional, I_RpcTransIoCancelled, I_RpcTransServerNewConnection, I_RpcTurnOnEEInfoPropagation, I_RpcVerifierCorruptionExpected, I_UuidCreate, IUnknown_AddRef_Proxy, IUnknown_QueryInterface_Proxy, IUnknown_Release_Proxy, MesBufferHandleReset, MesDecodeBufferHandleCreate, MesDecodeIncrementalHandleCreate, MesEncodeDynBufferHandleCreate, MesEncodeFixedBufferHandleCreate, MesEncodeIncrementalHandleCreate, MesHandleFree, MesIncrementalHandleReset, MesInqProcEncodingId, Ndr64AsyncClientCall, Ndr64AsyncServerCall64, Ndr64AsyncServerCallAll, Ndr64DcomAsyncClientCall, Ndr64DcomAsyncStubCall, NdrAllocate, NdrAsyncClientCall, NdrAsyncServerCall, NdrByteCountPointerBufferSize, NdrByteCountPointerFree, NdrByteCountPointerMarshall, NdrByteCountPointerUnmarshall, NDRCContextBinding, NDRCContextMarshall, NDRCContextUnmarshall, NdrClearOutParameters, NdrClientCall2, NdrClientCall3, NdrClientContextMarshall, NdrClientContextUnmarshall, NdrClientInitialize, NdrClientInitializeNew, NdrComplexArrayBufferSize, NdrComplexArrayFree, NdrComplexArrayMarshall, NdrComplexArrayMemorySize, NdrComplexArrayUnmarshall, NdrComplexStructBufferSize, NdrComplexStructFree, NdrComplexStructMarshall, NdrComplexStructMemorySize, NdrComplexStructUnmarshall, NdrConformantArrayBufferSize, NdrConformantArrayFree, NdrConformantArrayMarshall, NdrConformantArrayMemorySize, NdrConformantArrayUnmarshall, NdrConformantStringBufferSize, NdrConformantStringMarshall, NdrConformantStringMemorySize, NdrConformantStringUnmarshall, NdrConformantStructBufferSize, NdrConformantStructFree, NdrConformantStructMarshall, NdrConformantStructMemorySize, NdrConformantStructUnmarshall, NdrConformantVaryingArrayBufferSize, NdrConformantVaryingArrayFree, NdrConformantVaryingArrayMarshall, NdrConformantVaryingArrayMemorySize, NdrConformantVaryingArrayUnmarshall, NdrConformantVaryingStructBufferSize, NdrConformantVaryingStructFree, NdrConformantVaryingStructMarshall, NdrConformantVaryingStructMemorySize, NdrConformantVaryingStructUnmarshall, NdrContextHandleInitialize, NdrContextHandleSize, NdrConvert, NdrConvert2, NdrCorrelationFree, NdrCorrelationInitialize, NdrCorrelationPass, NdrCreateServerInterfaceFromStub, NdrCStdStubBuffer_Release, NdrCStdStubBuffer2_Release, NdrDcomAsyncClientCall, NdrDcomAsyncStubCall, NdrDllCanUnloadNow, NdrDllGetClassObject, NdrDllRegisterProxy, NdrDllUnregisterProxy, NdrEncapsulatedUnionBufferSize, NdrEncapsulatedUnionFree, NdrEncapsulatedUnionMarshall, NdrEncapsulatedUnionMemorySize, NdrEncapsulatedUnionUnmarshall, NdrFixedArrayBufferSize, NdrFixedArrayFree, NdrFixedArrayMarshall, NdrFixedArrayMemorySize, NdrFixedArrayUnmarshall, NdrFreeBuffer, NdrFullPointerFree, NdrFullPointerInsertRefId, NdrFullPointerQueryPointer, NdrFullPointerQueryRefId, NdrFullPointerXlatFree, NdrFullPointerXlatInit, NdrGetBaseInterfaceFromStub, NdrGetBuffer, NdrGetDcomProtocolVersion, NdrGetSimpleTypeBufferAlignment, NdrGetSimpleTypeBufferSize, NdrGetSimpleTypeMemorySize, NdrGetTypeFlags, NdrGetUserMarshalInfo, NdrInterfacePointerBufferSize, NdrInterfacePointerFree, NdrInterfacePointerMarshall, NdrInterfacePointerMemorySize, NdrInterfacePointerUnmarshall, NdrMapCommAndFaultStatus, NdrMesProcEncodeDecode, NdrMesProcEncodeDecode2, NdrMesProcEncodeDecode3, NdrMesSimpleTypeAlignSize, NdrMesSimpleTypeAlignSizeAll, NdrMesSimpleTypeDecode, NdrMesSimpleTypeDecodeAll, NdrMesSimpleTypeEncode, NdrMesSimpleTypeEncodeAll, NdrMesTypeAlignSize, NdrMesTypeAlignSize2, NdrMesTypeAlignSize3, NdrMesTypeDecode, NdrMesTypeDecode2, NdrMesTypeDecode3, NdrMesTypeEncode, NdrMesTypeEncode2, NdrMesTypeEncode3, NdrMesTypeFree2, NdrMesTypeFree3, NdrNonConformantStringBufferSize, NdrNonConformantStringMarshall, NdrNonConformantStringMemorySize, NdrNonConformantStringUnmarshall, NdrNonEncapsulatedUnionBufferSize, NdrNonEncapsulatedUnionFree, NdrNonEncapsulatedUnionMarshall, NdrNonEncapsulatedUnionMemorySize, NdrNonEncapsulatedUnionUnmarshall, NdrNsGetBuffer, NdrNsSendReceive, NdrOleAllocate, NdrOleFree, NdrOutInit, NdrPartialIgnoreClientBufferSize, NdrPartialIgnoreClientMarshall, NdrPartialIgnoreServerInitialize, NdrPartialIgnoreServerUnmarshall, NdrpClientCall2, NdrpCreateProxy, NdrpCreateStub, NdrpGetProcFormatString, NdrpGetTypeFormatString, NdrpGetTypeGenCookie, NdrpMemoryIncrement, NdrPointerBufferSize, NdrPointerFree, NdrPointerMarshall, NdrPointerMemorySize, NdrPointerUnmarshall, NdrpReleaseTypeFormatString, NdrpReleaseTypeGenCookie, NdrProxyErrorHandler, NdrProxyFreeBuffer, NdrProxyGetBuffer, NdrProxyInitialize, NdrProxySendReceive, NdrpVarVtOfTypeDesc, NdrRangeUnmarshall, NdrRpcSmClientAllocate, NdrRpcSmClientFree, NdrRpcSmSetClientToOsf, NdrRpcSsDefaultAllocate, NdrRpcSsDefaultFree, NdrRpcSsDisableAllocate, NdrRpcSsEnableAllocate, NDRSContextMarshall, NDRSContextMarshall2, NDRSContextMarshallEx, NDRSContextUnmarshall, NDRSContextUnmarshall2, NDRSContextUnmarshallEx, NdrSendReceive, NdrServerCall2, NdrServerCallAll, NdrServerCallNdr64, NdrServerContextMarshall, NdrServerContextNewMarshall, NdrServerContextNewUnmarshall, NdrServerContextUnmarshall, NdrServerInitialize, NdrServerInitializeMarshall, NdrServerInitializeNew, NdrServerInitializePartial, NdrServerInitializeUnmarshall, NdrSimpleStructBufferSize, NdrSimpleStructFree, NdrSimpleStructMarshall, NdrSimpleStructMemorySize, NdrSimpleStructUnmarshall, NdrSimpleTypeMarshall, NdrSimpleTypeUnmarshall, NdrStubCall2, NdrStubCall3, NdrStubForwardingFunction, NdrStubGetBuffer, NdrStubInitialize, NdrStubInitializeMarshall, NdrTypeFlags, NdrTypeFree, NdrTypeMarshall, NdrTypeSize, NdrTypeUnmarshall, NdrUnmarshallBasetypeInline, NdrUserMarshalBufferSize, NdrUserMarshalFree, NdrUserMarshalMarshall, NdrUserMarshalMemorySize, NdrUserMarshalSimpleTypeConvert, NdrUserMarshalUnmarshall, NdrVaryingArrayBufferSize, NdrVaryingArrayFree, NdrVaryingArrayMarshall, NdrVaryingArrayMemorySize, NdrVaryingArrayUnmarshall, NdrXmitOrRepAsBufferSize, NdrXmitOrRepAsFree, NdrXmitOrRepAsMarshall, NdrXmitOrRepAsMemorySize, NdrXmitOrRepAsUnmarshall, pfnFreeRoutines, pfnMarshallRoutines, pfnSizeRoutines, pfnUnmarshallRoutines, RpcAsyncAbortCall, RpcAsyncCancelCall, RpcAsyncCompleteCall, RpcAsyncGetCallStatus, RpcAsyncInitializeHandle, RpcAsyncRegisterInfo, RpcBindingBind, RpcBindingCopy, RpcBindingCreate, RpcBindingFree, RpcBindingFromStringBinding, RpcBindingInqAuthClient, RpcBindingInqAuthClientEx, RpcBindingInqAuthInfo, RpcBindingInqAuthInfoEx, RpcBindingInqObject, RpcBindingInqOption, RpcBindingReset, RpcBindingServerFromClient, RpcBindingSetAuthInfo, RpcBindingSetAuthInfoEx, RpcBindingSetObject, RpcBindingSetOption, RpcBindingToStringBinding, RpcBindingUnbind, RpcBindingVectorFree, RpcCancelThread, RpcCancelThreadEx, RpcCertGeneratePrincipalName, RpcCertMatchPrincipalName, RpcEpRegister, RpcEpRegisterNoReplace, RpcEpResolveBinding, RpcEpUnregister, RpcErrorAddRecord, RpcErrorClearInformation, RpcErrorEndEnumeration, RpcErrorGetNextRecord, RpcErrorGetNumberOfRecords, RpcErrorLoadErrorInfo, RpcErrorResetEnumeration, RpcErrorSaveErrorInfo, RpcErrorStartEnumeration, RpcExceptionFilter, RpcFreeAuthorizationContext, RpcGetAuthorizationContextForClient, RpcIfIdVectorFree, RpcIfInqId, RpcImpersonateClient, RpcImpersonateClient2, RpcImpersonateClientContainer, RpcMgmtEnableIdleCleanup, RpcMgmtEpEltInqBegin, RpcMgmtEpEltInqDone, RpcMgmtEpEltInqNext, RpcMgmtEpUnregister, RpcMgmtInqComTimeout, RpcMgmtInqDefaultProtectLevel, RpcMgmtInqIfIds, RpcMgmtInqServerPrincName, RpcMgmtInqStats, RpcMgmtIsServerListening, RpcMgmtSetAuthorizationFn, RpcMgmtSetCancelTimeout, RpcMgmtSetComTimeout, RpcMgmtSetServerStackSize, RpcMgmtStatsVectorFree, RpcMgmtStopServerListening, RpcMgmtWaitServerListen, RpcNetworkInqProtseqs, RpcNetworkIsProtseqValid, RpcNsBindingInqEntryName, RpcObjectInqType, RpcObjectSetInqFn, RpcObjectSetType, RpcProtseqVectorFree, RpcRaiseException, RpcRevertContainerImpersonation, RpcRevertToSelf, RpcRevertToSelfEx, RpcServerCompleteSecurityCallback, RpcServerInqBindingHandle, RpcServerInqBindings, RpcServerInqBindingsEx, RpcServerInqCallAttributes, RpcServerInqDefaultPrincName, RpcServerInqIf, RpcServerInterfaceGroupActivate, RpcServerInterfaceGroupClose, RpcServerInterfaceGroupCreate, RpcServerInterfaceGroupDeactivate, RpcServerInterfaceGroupInqBindings, RpcServerListen, RpcServerRegisterAuthInfo, RpcServerRegisterIf, RpcServerRegisterIf2, RpcServerRegisterIf3, RpcServerRegisterIfEx, RpcServerSubscribeForNotification, RpcServerTestCancel, RpcServerUnregisterIf, RpcServerUnregisterIfEx, RpcServerUnsubscribeForNotification, RpcServerUseAllProtseqs, RpcServerUseAllProtseqsEx, RpcServerUseAllProtseqsIf, RpcServerUseAllProtseqsIfEx, RpcServerUseProtseq, RpcServerUseProtseqEp, RpcServerUseProtseqEpEx, RpcServerUseProtseqEx, RpcServerUseProtseqIf, RpcServerUseProtseqIfEx, RpcServerYield, RpcSmAllocate, RpcSmClientFree, RpcSmDestroyClientContext, RpcSmDisableAllocate, RpcSmEnableAllocate, RpcSmFree, RpcSmGetThreadHandle, RpcSmSetClientAllocFree, RpcSmSetThreadHandle, RpcSmSwapClientAllocFree, RpcSsAllocate, RpcSsContextLockExclusive, RpcSsContextLockShared, RpcSsDestroyClientContext, RpcSsDisableAllocate, RpcSsDontSerializeContext, RpcSsEnableAllocate, RpcSsFree, RpcSsGetContextBinding, RpcSsGetThreadHandle, RpcSsSetClientAllocFree, RpcSsSetThreadHandle, RpcSsSwapClientAllocFree, RpcStringBindingCompose, RpcStringBindingParse, RpcStringFree, RpcTestCancel, RpcUserFree, SimpleTypeAlignment, SimpleTypeBufferSize, SimpleTypeMemorySize, TowerConstruct, TowerExplode, UuidCompare, UuidCreate, UuidCreateNil, UuidCreateSequential, UuidEqual, UuidFromString, UuidHash, UuidIsNil, UuidToString
+
+Structures
+RPC_AUTH_IDENTITY_HANDLE, RPC_AUTHZ_HANDLE, RPC_BINDING_HANDLE, RPC_BINDING_HANDLE_OPTIONS_V1, RPC_BINDING_HANDLE_SECURITY_V1, RPC_BINDING_HANDLE_TEMPLATE_V1, RPC_BINDING_VECTOR, RPC_ENDPOINT_TEMPLATE, RPC_HTTP_TRANSPORT_CREDENTIALS, RPC_HTTP_TRANSPORT_CREDENTIALS_V2, RPC_HTTP_TRANSPORT_CREDENTIALS_V3, RPC_IF_HANDLE, RPC_IF_ID, RPC_IF_ID_VECTOR, RPC_INTERFACE_GROUP, RPC_INTERFACE_TEMPLATE, RPC_POLICY, RPC_PROTSEQ_VECTOR, RPC_SECURITY_QOS, RPC_SECURITY_QOS_V2, RPC_SECURITY_QOS_V3, RPC_SECURITY_QOS_V4, RPC_SECURITY_QOS_V5, RPC_STATS_VECTOR, SEC_WINNT_AUTH_IDENTITY, UUID_VECTOR, RPC_CLIENT_INTERFACE, RPC_DISPATCH_TABLE, RPC_MESSAGE, RPC_PROTSEQ_ENDPOINT, RPC_SERVER_INTERFACE, RPC_SYNTAX_IDENTIFIER, RPC_VERSION, MIDL_SERVER_INFO, MIDL_STUB_DESC
+
+
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
diff --git a/README.md b/README.md
index 7403d5dd..b7144813 100644
--- a/README.md
+++ b/README.md
@@ -79,6 +79,7 @@ PeerDist.dll | [Vanara.PInvoke.PeerDist](https://github.com/dahall/Vanara/blob/m
powrprof.dll | [Vanara.PInvoke.PowrProf](https://github.com/dahall/Vanara/blob/master/PInvoke/PowrProf/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.PowrProf?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.PowrProf?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.PowrProf)
ProjectedFSLib.dll | [Vanara.PInvoke.ProjectedFSLib](https://github.com/dahall/Vanara/blob/master/PInvoke/ProjectedFSLib/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.ProjectedFSLib?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.ProjectedFSLib?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.ProjectedFSLib)
qmgr.dll | [Vanara.PInvoke.BITS](https://github.com/dahall/Vanara/blob/master/PInvoke/BITS/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.BITS?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.BITS?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.BITS)
+rpcrt4.dll | [Vanara.PInvoke.Rpc](https://github.com/dahall/Vanara/blob/master/PInvoke/Rpc/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/5%25-red.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.Rpc?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.Rpc?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.Rpc)
SearchApi | [Vanara.PInvoke.SearchApi](https://github.com/dahall/Vanara/blob/master/PInvoke/SearchApi/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.SearchApi?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.SearchApi?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.SearchApi)
shell32.dll, url.dll | [Vanara.PInvoke.Shell32](https://github.com/dahall/Vanara/blob/master/PInvoke/Shell32/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.Shell32?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.Shell32?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.Shell32)
shlwapi.dll | [Vanara.PInvoke.ShlwApi](https://github.com/dahall/Vanara/blob/master/PInvoke/ShlwApi/CorrelationReport.md) | ![Coverage](https://img.shields.io/badge/100%25-green.svg?style=flat-square) | [![Nuget](https://img.shields.io/nuget/v/Vanara.PInvoke.ShlwApi?label=%20&logo=nuget&style=flat-square)![Nuget](https://img.shields.io/nuget/dt/Vanara.PInvoke.ShlwApi?label=%20&style=flat-square)](https://www.nuget.org/packages/Vanara.PInvoke.ShlwApi)