ALPC_MESSAGE_FLAGS - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTLPCAPI_H
// begin_private

/**
 * Defines flags for NtAlpcConnectPort / NtAlpcSendWaitReceivePort
 */
typedef enum _ALPC_MESSAGE_FLAGS
{
    // Low 2 bits are historical/public ALPC message bits
    ALPC_MSGFLG_REPLY_MESSAGE           = 0x00000001,
    ALPC_MSGFLG_LPC_MODE                = 0x00000002,

    // High-word message/connect flags
    ALPC_MSGFLG_RELEASE_MESSAGE         = 0x00010000, // SendWaitReceive: synchronous-request path rejects this bit when a send message is present; debug/internal-style release semantic.
    ALPC_MSGFLG_SYNC_REQUEST            = 0x00020000, // SendWaitReceive: selects AlpcpProcessSynchronousRequest instead of normal send/receive flow.
    ALPC_MSGFLG_TRACK_PORT_REFERENCES   = 0x00040000, // SendWaitReceive: increments per-port reference tracking and may signal the tracking event.
    ALPC_MSGFLG_WAIT_USER_MODE          = 0x00100000,
    ALPC_MSGFLG_WAIT_ALERTABLE          = 0x00200000,
    ALPC_MSGFLG_SIGNAL_ALERTABLE        = 0x00400000, // NtAlpcSendWaitReceivePort: passed as the alertable boolean to AlpcpSignal after shifting flags by 0x16.
    ALPC_MSGFLG_INTERNAL_REJECT         = 0x01000000, // NtAlpcSendWaitReceivePort: explicit invalid-parameter reject in both sync and send paths.
    ALPC_MSGFLG_WOW64_CALL              = 0x80000000,
} ALPC_MESSAGE_FLAGS;

// end_private
#endif

View code on GitHub

NtDoc

No description available.