estrutura KBUGCHECK_REMOVE_PAGES (wdm.h)
A estrutura KBUGCHECK_REMOVE_PAGES descreve uma ou mais páginas de dados fornecidos pelo driver a serem removidos por uma rotina de retorno de chamada KBUGCHECK_REASON_CALLBACK_ROUTINE do arquivo de despejo de falhas.
Sintaxe
typedef struct _KBUGCHECK_REMOVE_PAGES {
PVOID Context;
ULONG Flags;
ULONG BugCheckCode;
ULONG_PTR Address;
ULONG_PTR Count;
} KBUGCHECK_REMOVE_PAGES, *PKBUGCHECK_REMOVE_PAGES;
Membros
Context
Contém dados de contexto privados para o uso exclusivo da rotina de retorno de chamada. A rotina de retorno de chamada pode definir esse membro como qualquer valor. Normalmente, se a rotina de retorno de chamada precisar ser chamada mais de uma vez, a rotina definirá esse membro para apontar para um buffer fornecido pelo driver durante a chamada inicial. Durante as chamadas subsequentes, a rotina de retorno de chamada pode ler o conteúdo anterior desse buffer e atualizar seu conteúdo. Antes da chamada inicial para a rotina de retorno de chamada, de contexto é NULL.
Flags
Contém sinalizadores que descrevem a solicitação de remoção de página. A rotina de retorno de chamada deve definir o valor desse membro. Defina esse membro como OR bit a bit de um ou mais dos seguintes bits de sinalizador:
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
Contém um código de verificação de bug, que especifica o motivo da verificação de bugs. A rotina de retorno de chamada pode usar essas informações para decidir se deseja adicionar páginas ao arquivo de despejo de memória. Para obter uma lista completa de códigos de verificação de bugs, consulte o arquivo de cabeçalho Bugcodes.h incluído no WDK.
Address
Especifica o endereço físico ou virtual da página ou páginas que as solicitações de rotina de retorno de chamada serão removidas do arquivo de despejo de memória.
Count
Especifica o número de páginas contíguas a serem removidas do arquivo de despejo de falha, começando pelo endereço virtual ou físico especificado pelo Address membro. Se Count> 1 e Address for um endereço virtual, as páginas serão contíguas no espaço de memória virtual. Se Count> 1 e Address for um endereço físico, as páginas serão contíguas no espaço de memória física. A rotina de retorno de chamada pode definir esse membro como zero para indicar que ele não precisa remover nenhuma página do arquivo de despejo de memória.
Observações
Em uma chamada para a rotina de retorno de chamada KBUGCHECK_REASON_CALLBACK_ROUTINE, o sistema operacional define o parâmetro Reason como KbCallbackRemovePages e define o parâmetro ReasonSpecificData para apontar para uma estrutura KBUGCHECK_REMOVE_PAGES.
Para obter mais informações sobre rotinas de retorno de chamada de verificação de bugs, consulte Escrevendo uma rotina de retorno de chamada de verificação de bugs.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | wdm.h |