public static extern NtStatus NtAlpcOpenSenderThread(
     out SafeKernelObjectHandle ThreadHandle,
     [In] SafeKernelObjectHandle PortHandle,
     [In] AlpcPortMessage PortMessage,
     uint Flags,
     ProcessAccessRights DesiredAccess,
     [In] ObjectAttributes ObjectAttributes);
 public static extern NtStatus NtAlpcSendWaitReceivePort(
     [In] SafeKernelObjectHandle PortHandle,
     uint Flags,
     [Optional, In] AlpcPortMessage SendMessage,
     [Optional, In, Out] AlpcMessageAtributes SendMessageAttributes,
     [Optional, Out] AlpcPortMessage ReceiveMessage,
     [Optional, In, Out] OptionalLength BufferLength,
     [Optional, In, Out] AlpcMessageAtributes ReceiveMessageAttributes,
     [Optional, In] LargeInteger Timeout);
 public static extern NtStatus NtAlpcConnectPortEx(
     out SafeKernelObjectHandle PortHandle,
     [In] ObjectAttributes ConnectionPortObjectAttributes,
     [Optional, In] ObjectAttributes ClientPortObjectAttributes,
     [Optional, In] AlpcPortAttributes PortAttributes,
     uint Flags,
     [Optional] IntPtr ServerSecurityRequirements, // SECURITY_DESCRIPTOR
     [Optional, In, Out] AlpcPortMessage ConnectionMessage,
     [Optional, In, Out] OptionalLength BufferLength,
     [Optional, In, Out] AlpcMessageAtributes OutMessageAttributes,
     [Optional, In, Out] AlpcMessageAtributes InMessageAttributes,
     [Optional, In] LargeInteger Timeout);
 public static extern NtStatus NtAlpcConnectPort(
     out SafeKernelObjectHandle PortHandle,
     [In] UnicodeString PortName,
     [Optional, In] ObjectAttributes ObjectAttributes,
     [Optional, In] AlpcPortAttributes PortAttributes,
     uint Flags,
     [Optional] IntPtr RequiredServerSid,
     [Optional, In, Out] AlpcPortMessage ConnectionMessage,
     [Optional, In, Out] OptionalInt32 BufferLength,
     [Optional, In, Out] AlpcMessageAtributes OutMessageAttributes,
     [Optional, In, Out] AlpcMessageAtributes InMessageAttributes,
     [Optional, In] LargeInteger Timeout
     );
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="header">The port message header.</param>
 protected AlpcMessage(AlpcPortMessage header)
 {
     Header = header;
 }
 public static extern NtStatus NtAlpcImpersonateClientContainerOfPort(
     [In] SafeKernelObjectHandle PortHandle,
     [In] AlpcPortMessage PortMessage,
     uint Flags
     );