public static extern uint RpcMgmtEpEltInqNext( SafeRpcInquiryHandle InquiryContext, ref RPC_IF_ID IfId, out SafeRpcBindingHandle Binding, int ObjectUuid, // going to be 0/NULL, so we don't care about "ref RPC_IF_ID IfId" out SafeRpcStringHandle Annotation );
public static extern uint RpcStringBindingCompose( string ObjUuid, string Protseq, string NetworkAddr, string Endpoint, string Options, out SafeRpcStringHandle StringBinding);
public CrackedBindingString(string string_binding) { SafeRpcStringHandle objuuid = null; SafeRpcStringHandle protseq = null; SafeRpcStringHandle endpoint = null; SafeRpcStringHandle networkaddr = null; SafeRpcStringHandle networkoptions = null; try { int status = Win32NativeMethods.RpcStringBindingParse(string_binding, out objuuid, out protseq, out networkaddr, out endpoint, out networkoptions); if (status == 0) { ObjUuid = objuuid.ToString(); Protseq = protseq.ToString(); Endpoint = endpoint.ToString(); NetworkAddr = networkaddr.ToString(); NetworkOptions = networkoptions.ToString(); } else { ObjUuid = string.Empty; Protseq = string.Empty; Endpoint = string.Empty; NetworkAddr = string.Empty; NetworkOptions = string.Empty; } } finally { objuuid?.Dispose(); protseq?.Dispose(); endpoint?.Dispose(); networkaddr?.Dispose(); networkoptions?.Dispose(); } }
public static extern int RpcBindingToStringBinding(IntPtr Binding, out SafeRpcStringHandle StringBinding);
public static extern uint RpcBindingFromStringBinding( SafeRpcStringHandle StringBinding, out SafeRpcBindingHandle Binding);