Partilhar via


Função VideoPortRegisterBugcheckCallback (video.h)

A função VideoPortRegisterBugcheckCallback permite que um driver de miniporto de vídeo se registre para, ou gancho, um retorno de chamada que é invocado quando ocorre uma verificação de bug especificada.

Sintaxe

VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortRegisterBugcheckCallback(
  [in] IN PVOID                    HwDeviceExtension,
  [in] IN ULONG                    BugcheckCode,
  [in] IN PVIDEO_BUGCHECK_CALLBACK Callback,
  [in] IN ULONG                    BugcheckDataSize
);

Parâmetros

[in] HwDeviceExtension

Ponteiro para a extensão do dispositivo do driver de miniport.

[in] BugcheckCode

Indica o código de verificação de bug para o qual ser chamado de volta. Atualmente, o driver de miniporto só pode se registrar para 0xEA de código de verificação de bugs.

[in] Callback

Ponteiro para a função HwVidBugcheckCallback do driver de miniport. Essa função deve ser não paga e não deve referenciar dados ou código pagináveis. O driver de miniporto pode definir esse parâmetro como NULL para indicar que o retorno de chamada de verificação de bug deve ser desachado.

[in] BugcheckDataSize

Indica a soma de BUGCHECK_DATA_SIZE_RESERVED e o número de bytes de dados que o driver de miniporto fornecerá para inclusão no arquivo de despejo. O valor desse parâmetro deve ser menor ou igual a 4000. O driver de miniporto pode definir esse parâmetro como zero para indicar que o retorno de chamada de verificação de bug deve ser desengajado.

Valor de retorno

VideoPortRegisterBugcheckCallback retornará NO_ERROR se tiver êxito. Caso contrário, ele retornará um código de status que indica a natureza da falha.

Observações

Se você estiver desenvolvendo um driver de miniporto de vídeo destinado a ser executado no Windows XP ou em um sistema operacional base NT anterior, poderá usar o VideoPortGetProcAddress rotina de retorno de chamada para encontrar o endereço da função VideoPortRegisterBugcheckCallback. Para obter detalhes, consulte Usando VideoPortGetProcAddress.

Um driver de miniporto pode se registrar para um retorno de chamada quando ocorre um tipo específico de verificação de bug. Atualmente, somente código de verificação de bugs 0xEA pode ser fisgado. Quando a verificação de bug ocorre, a função de retorno de chamada fornecida pelo minidriver é chamada e o driver de miniporto pode acrescentar dados ao arquivo de despejo. Isso é útil para coletar dados estatísticos quando a depuração direta não é possível.

O valor do parâmetro BugcheckDataSize deve ser BUGCHECK_DATA_SIZE_RESERVED bytes maiores do que os dados fornecidos pelo driver de miniporto. Por exemplo, suponha que o driver de miniporto forneça DUMP_SIZE bytes de dados a serem gravados no arquivo de despejo. Em seguida, o valor de BugcheckDataSize deve ser DUMP_SIZE + BUGCHECK_DATA_SIZE_RESERVED e esse valor total deve ser menor ou igual a 4000.

O BUGCHECK_DATA_SIZE_RESERVED constante (definido em video.h) está disponível no Microsoft Windows Server 2003 e em ambientes de build posteriores. No ambiente de build do Windows XP SP1, use 48 em vez de BUGCHECK_DATA_SIZE_RESERVED.

O driver de miniporto pode cancelar o registro de um retorno de chamada registrado anteriormente chamando essa função, especificando NULL para o parâmetro de retorno de chamada ou zero para o parâmetro datasize do.

Para obter mais informações, consulte Suporte ao driver de porta de vídeo para retornos de chamada de verificação de bugs.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows XP SP1 e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Área de trabalho
cabeçalho video.h (inclua Video.h)
biblioteca Videoprt.lib
de DLL Videoprt.sys
IRQL PASSIVE_LEVEL

Consulte também

HwVidBugcheckCallback