From b301a72b50b45bca051ef5d06efb92a38b720db1 Mon Sep 17 00:00:00 2001 From: dahall Date: Wed, 16 Dec 2020 11:40:33 -0700 Subject: [PATCH] More work on Rpc assembly --- PInvoke/Rpc/CorrelationReport.md | 559 ++++++++++++++++++++++++++++++++++ PInvoke/Rpc/RpcDceP.cs | 246 +++++++++++++++ PInvoke/Rpc/RpcNdr.cs | 196 ++++++++++++ PInvoke/Rpc/Vanara.PInvoke.Rpc.csproj | 64 +++- README.md | 1 + 5 files changed, 1065 insertions(+), 1 deletion(-) create mode 100644 PInvoke/Rpc/CorrelationReport.md create mode 100644 PInvoke/Rpc/RpcDceP.cs create mode 100644 PInvoke/Rpc/RpcNdr.cs 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)