Beispiel #1
0
 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
     );
Beispiel #2
0
 public static extern uint RpcMgmtEpEltInqBegin(
     SafeRpcBindingHandle EpBinding,
     int InquiryType, // 0x00000000 = RPC_C_EP_ALL_ELTS
     int IfId,        // going to be 0/NULL, so we don't care about "ref RPC_IF_ID IfId"
     int VersOption,
     int ObjectUuid,  // going to be 0/NULL, so we don't care about "ref RPC_IF_ID IfId"
     out SafeRpcInquiryHandle InquiryContext);
        /// <summary>
        /// Connect the client to a RPC endpoint.
        /// </summary>
        /// <param name="protocol_seq">The protocol sequence for the transport.</param>
        /// <param name="endpoint">The endpoint for the protocol sequence.</param>
        /// <param name="security_quality_of_service">The security quality of service for the connection.</param>
        public void Connect(string protocol_seq, string endpoint, SecurityQualityOfService security_quality_of_service)
        {
            if (Connected)
            {
                throw new InvalidOperationException("RPC client is already connected.");
            }

            if (string.IsNullOrEmpty(protocol_seq))
            {
                throw new ArgumentException("Must specify a protocol sequence", nameof(protocol_seq));
            }

            Connect(string.IsNullOrEmpty(endpoint) ? LookupEndpoint(protocol_seq) :
                    new RpcEndpoint(InterfaceId, InterfaceVersion,
                                    SafeRpcBindingHandle.Compose(null, protocol_seq, null, endpoint, null), true),
                    security_quality_of_service);
        }
Beispiel #4
0
        /// <summary>
        /// Connect the client to a RPC endpoint.
        /// </summary>
        /// <param name="protocol_seq">The protocol sequence for the transport.</param>
        /// <param name="endpoint">The endpoint for the protocol sequence.</param>
        /// <param name="network_address">The network address for the protocol sequence.</param>
        /// <param name="transport_security">The transport security for the connection.</param>
        public void Connect(string protocol_seq, string endpoint, string network_address, RpcTransportSecurity transport_security)
        {
            if (Connected)
            {
                throw new InvalidOperationException("RPC client is already connected.");
            }

            if (string.IsNullOrEmpty(protocol_seq))
            {
                throw new ArgumentException("Must specify a protocol sequence", nameof(protocol_seq));
            }

            Connect(string.IsNullOrEmpty(endpoint) ? LookupEndpoint(protocol_seq, network_address) :
                    new RpcEndpoint(InterfaceId, InterfaceVersion,
                                    SafeRpcBindingHandle.Compose(null, protocol_seq,
                                                                 string.IsNullOrEmpty(network_address) ? null : network_address, endpoint, null), true),
                    transport_security);
        }
Beispiel #5
0
 /// <summary>
 /// Compose a string binding from its parts.
 /// </summary>
 /// <param name="objuuid">The object UUID.</param>
 /// <param name="protseq">The protocol sequence.</param>
 /// <param name="networkaddr">The network address.</param>
 /// <param name="endpoint">The endpoint.</param>
 /// <param name="options">The options.</param>
 /// <returns>The composed binding string.</returns>
 public static string ComposeStringBinding(string objuuid, string protseq, string networkaddr, string endpoint, string options)
 {
     return(SafeRpcBindingHandle.Compose(objuuid, protseq, networkaddr, endpoint, options));
 }
Beispiel #6
0
 public static extern uint RpcBindingFromStringBinding(
     SafeRpcStringHandle StringBinding,
     out SafeRpcBindingHandle Binding);