#ifndef _NTLPCAPI_H
// begin_private
/**
* Defines flags for NtAlpcDisconnectPort
*/
typedef enum _ALPC_DISCONNECT_PORT_FLAGS
{
/**
* Performs a standard ALPC port disconnect with no special behavior.
*
* \remarks This is the default disconnect mode and applies the normal
* disconnect/flush behavior implemented by the kernel.
*/
ALPC_DISCONNECT_PORT_FLG_DEFAULT = 0x00000000,
/*
* When ALPC_DISCONNECT_PORT_FLG_SKIP_PENDING_FLUSH is set,
* ALPC skips the flush/cancel pass over the peer port’s pending queue,
* while still flushing the peer main/large queues.
* "special disconnect" specifically means disconnect while preserving/skipping
* forced cancellation of pending queued reply-related messages on the peer side,
* unlike a normal disconnect which flushes that queue too
* \remarks Forwarded to AlpcpDisconnectPort, where it sets internal port state bit 0x80
* before the port is marked disconnected.
*/
ALPC_DISCONNECT_PORT_FLG_SKIP_PENDING_FLUSH = 0x00000001
} ALPC_DISCONNECT_PORT_FLAGS;
View code on GitHubNo description available.