Compartilhar via


estrutura KBUGCHECK_ADD_PAGES (wdm.h)

A estrutura KBUGCHECK_ADD_PAGES descreve uma ou mais páginas de dados fornecidos pelo driver a serem gravados por uma função de retorno de chamada KBUGCHECK_REASON_CALLBACK_ROUTINE no arquivo de despejo de memória.

Sintaxe

typedef struct _KBUGCHECK_ADD_PAGES {
  PVOID     Context;
  ULONG     Flags;
  ULONG     BugCheckCode;
  ULONG_PTR Address;
  ULONG_PTR Count;
} KBUGCHECK_ADD_PAGES, *PKBUGCHECK_ADD_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, Context é NULL.

Flags

Contém sinalizadores que descrevem a solicitação de página de adição. A rotina de retorno de chamada deve definir o valor desse membro. Defina esse membro como o OR bit a bit de um ou mais dos seguintes bits de sinalizador:

KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS

Indica que o membro Address contém um endereço virtual.

KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS

Indica que o membro address contém um endereço físico.

KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST

Indica que a rotina de retorno de chamada solicita que ela seja chamada novamente para que possa adicionar mais páginas.

A rotina de retorno de chamada deve definir o sinalizador KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS ou o sinalizador KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS, mas não ambos. Na entrada para a rotina de retorno de chamada, Os sinalizadores são inicializados como zero.

BugCheckCode

Contém um código de marcar de bugs, que especifica o motivo do bug marcar. 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 marcar 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 adicionadas ao arquivo de despejo de memória.

Count

Especifica o número de páginas contíguas a serem adicionadas ao arquivo de despejo de memória, começando pelo endereço virtual ou físico especificado pelo membro Address . Se a Contagem> 1 e Endereço for um endereço virtual, as páginas serão contíguas no espaço de memória virtual. Se a Contagem> 1 e Endereço 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 adicionar nenhuma página ao arquivo de despejo de memória.

Comentários

Em uma chamada para a rotina de retorno de chamada KbCallbackAddPages , o sistema operacional define o parâmetro Reason como KbCallbackAddPages e define o parâmetro ReasonSpecificData para apontar para uma estrutura KBUGCHECK_ADD_PAGES .

Para obter mais informações sobre como essa estrutura é usada, consulte Escrevendo uma rotina de retorno de chamada de verificação de bugs e KBUGCHECK_REASON_CALLBACK_ROUTINE função de retorno de chamada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no Windows Server 2008 e versões posteriores do Windows.
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Confira também

Gravando uma rotina de retorno de chamada de verificação de bugs.