Condividi tramite


KBUGCHECK_REMOVE_PAGES struttura (wdm.h)

La struttura KBUGCHECK_REMOVE_PAGES descrive una o più pagine di dati forniti dal driver da rimuovere da una routine di callback KBUGCHECK_REASON_CALLBACK_ROUTINE dal file di dump di arresto anomalo.

Sintassi

typedef struct _KBUGCHECK_REMOVE_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_REMOVE_PAGES, *PKBUGCHECK_REMOVE_PAGES;

Members

Context

Contiene dati di contesto privati per l'uso esclusivo della routine di callback. La routine di callback può impostare questo membro su qualsiasi valore. In genere, se la routine di callback deve essere chiamata più di una volta, la routine imposta questo membro per puntare a un buffer fornito dal driver durante la chiamata iniziale. Durante le chiamate successive, la routine di callback può leggere il contenuto precedente di questo buffer e aggiornarne il contenuto. Prima della chiamata iniziale alla routine di callback, Context è NULL.

Flags

Contiene flag che descrivono la richiesta remove-page. La routine di callback deve impostare il valore di questo membro. Impostare questo membro sull'OR bit per bit di uno o più dei bit di flag seguenti:

KB_ADD_PAGES_FEATURE_SHIFT       4

KB_REMOVE_PAGES_FEATURE_SHIFT    4

KB_ADD_PAGES_FEATURE_MASK        (0xF << KB_ADD_PAGES_FEATURE_SHIFT)

KB_REMOVE_PAGES_FEATURE_MASK     (0xF << (KB_ADD_PAGES_FEATURE_SHIFT + KB_REMOVE_PAGES_FEATURE_SHIFT))

BugCheckCode

Contiene un codice di controllo di bug, che specifica il motivo per il controllo del bug. La routine di callback può usare queste informazioni per decidere se aggiungere pagine al file di dump di arresto anomalo. Per un elenco completo dei codici di controllo dei bug, vedere il file di intestazione Bugcodes.h incluso in WDK.

Address

Specifica l'indirizzo fisico o virtuale della pagina o delle pagine che la routine di callback richiede la rimozione dal file di dump dell'arresto anomalo.

Count

Specifica il numero di pagine contigue da rimuovere dal file di dump di arresto anomalo, a partire dall'indirizzo virtuale o fisico specificato dal membro Address . Se Count> 1 e Address è un indirizzo virtuale, le pagine sono contigue nello spazio di memoria virtuale. Se Count> 1 e Address è un indirizzo fisico, le pagine sono contigue nello spazio di memoria fisica. La routine di callback può impostare questo membro su zero per indicare che non è necessario rimuovere alcuna pagina dal file di dump di arresto anomalo.

Commenti

In una chiamata alla routine di callback KBUGCHECK_REASON_CALLBACK_ROUTINE, il sistema operativo imposta il parametro Reason su KbCallbackRemovePages e imposta il parametro ReasonSpecificData per puntare a una struttura KBUGCHECK_REMOVE_PAGES.

Per altre informazioni sulle routine di callback di controllo dei bug, vedere Scrittura di routine di controllo dei bug.

Requisiti

Requisito Valore
Intestazione wdm.h