Skip to content

Type__REQUEST_HEADER

Martin Drab edited this page Mar 20, 2020 · 3 revisions

_REQUEST_HEADER struct

Summary

Header, containing information common for all request types.

Definition

typedef struct _REQUEST_HEADER {
    LARGE_INTEGER Time;
    ERequesttype Type;
    ULONG Id;
    PVOID Device;
    PVOID Driver;
    HANDLE ProcessId;
    HANDLE ThreadId;
    USHORT Flags;
    UCHAR Irql;
    ERequest ResultType;
} REQUEST_HEADER, *PREQUEST_HEADER;

Members

Time

Date and time of the request's detection (in 100 nanosecond units from January 1 1601).

Type

Type of the request.

Id

Unique identifier of the request. ID of a new request is always greater than ID of already existing ones, so the ID also follows the order in which the requests were created.

Device

Device object associated with the request.

Driver

Driver object associated with the request.

ProcessId

PID of process associated with the request.

ThreadId

TID of thread associated with the request.

Flags

Various flags related to the request.

Irql

IRQL on the time of request generation.

ResultType

Result of the request servicing. The type of this field differs depending the type of the request.

  • NTSTATUS (ertIRP, ertAddDevice, ertStartIo).
  • Not relevant to the request type (ertDriverUnload, erpUndefined).
  • BOOLEAN for most Fast I/Os @todo Dopsat fast I/O

Requirements

Header general-types.h

General

For Users-Developers

Tutorial

Public API

Functions

Types

Clone this wiki locally