/// <summary> /// Register protocol information. /// </summary> /// <param name="protocol_id">The ID of the protocol to register.</param> /// <param name="protocol_information">An opaque protocol buffer.</param> /// <param name="create_options">Optional create options.</param> /// <param name="throw_on_error">True to throw on error.</param> /// <returns>The NT status code.</returns> public NtStatus RegisterProtocolAddressInformation(Guid protocol_id, byte[] protocol_information, RegisterProtocolCreateOptions create_options, bool throw_on_error) { using (var buffer = protocol_information.ToBuffer()) { return(NtSystemCalls.NtRegisterProtocolAddressInformation(Handle, ref protocol_id, buffer.Length, buffer, create_options).ToNtException(throw_on_error)); } }
/// <summary> /// Register protocol information. /// </summary> /// <param name="protocol_id">The ID of the protocol to register.</param> /// <param name="protocol_information">An opaque protocol buffer.</param> /// <param name="create_options">Optional create options.</param> public void RegisterProtocolAddressInformation(Guid protocol_id, byte[] protocol_information, RegisterProtocolCreateOptions create_options = RegisterProtocolCreateOptions.None) { RegisterProtocolAddressInformation(protocol_id, protocol_information, create_options, true); }
public static extern NtStatus NtRegisterProtocolAddressInformation( SafeKernelObjectHandle ResourceManagerHandle, ref Guid ProtocolId, int ProtocolInformationSize, SafeBuffer ProtocolInformation, RegisterProtocolCreateOptions CreateOptions);