public static extern NtStatus NtAlpcAcceptConnectPort(
     out SafeKernelObjectHandle PortHandle,
     SafeKernelObjectHandle ConnectionPortHandle,
     AlpcMessageFlags Flags,
     ObjectAttributes ObjectAttributes,
     AlpcPortAttributes PortAttributes,
     IntPtr PortContext,
     SafeAlpcPortMessageBuffer ConnectionRequest,
     SafeAlpcMessageAttributesBuffer ConnectionMessageAttributes,
     bool AcceptConnection
     );
 public static extern NtStatus NtAlpcConnectPortEx(
     out SafeKernelObjectHandle PortHandle,
     [In] ObjectAttributes ConnectionPortObjectAttributes,
     [In] ObjectAttributes ClientPortObjectAttributes,
     [In] AlpcPortAttributes PortAttributes,
     AlpcMessageFlags Flags,
     [In] SafeBuffer ServerSecurityRequirements, // SECURITY_DESCRIPTOR
     [In, Out] SafeAlpcPortMessageBuffer ConnectionMessage,
     [In, Out] OptionalLength BufferLength,
     [In, Out] SafeAlpcMessageAttributesBuffer OutMessageAttributes,
     [In, Out] SafeAlpcMessageAttributesBuffer InMessageAttributes,
     [In] LargeInteger Timeout);
 public static extern NtStatus NtAlpcConnectPort(
     out SafeKernelObjectHandle PortHandle,
     [In] UnicodeString PortName,
     [In] ObjectAttributes ObjectAttributes,
     [In] AlpcPortAttributes PortAttributes,
     AlpcMessageFlags Flags,
     [In] SafeSidBufferHandle RequiredServerSid,
     [In, Out] SafeAlpcPortMessageBuffer ConnectionMessage,
     [In, Out] OptionalLength BufferLength,
     [In, Out] SafeAlpcMessageAttributesBuffer OutMessageAttributes,
     [In, Out] SafeAlpcMessageAttributesBuffer InMessageAttributes,
     [In] LargeInteger Timeout
     );
コード例 #4
0
        /// <summary>
        /// Process record.
        /// </summary>
        protected override void ProcessRecord()
        {
            var obj = new AlpcPortAttributes()
            {
                Flags       = Flags,
                SecurityQos = new SecurityQualityOfServiceStruct(ImpersonationLevel,
                                                                 ContextTrackingMode, EffectiveOnly),
                MaxMessageLength    = MaxMessageLength,
                MemoryBandwidth     = MemoryBandwidth,
                MaxPoolUsage        = MaxPoolUsage,
                MaxSectionSize      = MaxSectionSize,
                MaxViewSize         = MaxViewSize,
                MaxTotalSectionSize = MaxTotalSectionSize,
                DupObjectTypes      = DupObjectTypes
            };

            WriteObject(obj);
        }
 public static extern NtStatus NtAlpcCreatePort(
     out SafeKernelObjectHandle PortHandle,
     [In] ObjectAttributes ObjectAttributes,
     [In] AlpcPortAttributes PortAttributes
     );