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
     );