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 |