Функция VideoPortRegisterBugcheckCallback (video.h)

Функция VideoPortRegisterBugcheckCallback позволяет драйверу видеопорта регистрироваться или перехватчику, вызываемому при возникновении указанной проверки ошибок.

Синтаксис

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
);

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства минипорта драйвера.

[in] BugcheckCode

Указывает код проверки ошибок, для которого необходимо вернуться. В настоящее время драйвер минипорта может зарегистрировать только код проверки ошибок 0xEA.

[in] Callback

Указатель на функцию драйвера минипорта HwVidBugcheckCallback. Эта функция должна быть неоплачена и не должна ссылаться на код или данные, доступные для страниц. Драйвер минипорта может задать этот параметр для NULL, чтобы указать, что обратный вызов проверки ошибок должен быть отсохнут.

[in] BugcheckDataSize

Указывает сумму BUGCHECK_DATA_SIZE_RESERVED и количество байтов данных, которые драйвер минипорта будет предоставлять для включения в файл дампа. Значение этого параметра должно быть меньше или равно 4000. Драйвер минипорта может задать для этого параметра нулевое значение, чтобы указать, что обратный вызов проверки ошибок должен быть отключен.

Возвращаемое значение

VideoPortRegisterBugcheckCallback возвращает NO_ERROR в случае успешного выполнения. В противном случае возвращается код состояния, указывающий характер сбоя.

Замечания

Если вы разрабатываете драйвер видеопорта, предназначенный для запуска в Windows XP или более ранней операционной системе NT-base, можно использовать процедуру обратного вызова VideoPortGetProcAddress, чтобы найти адрес функции VideoPortRegisterBugcheckCallback. Дополнительные сведения см. в разделе Using VideoPortGetProcAddress.

Минипорт-драйвер может зарегистрировать обратный вызов при возникновении определенного типа проверки ошибок. В настоящее время можно подключить только код проверки ошибок 0xEA. При возникновении ошибки вызывается функция обратного вызова мини-driver, а драйвер минипорта может добавлять данные в файл дампа. Это полезно для сбора статистических данных, если прямая отладка невозможна.

Значение параметра BugcheckDataSize должно быть BUGCHECK_DATA_SIZE_RESERVED байтами, превышающими данные, предоставленные драйвером мини-порта. Например, предположим, что драйвер минипорта предоставляет DUMP_SIZE байты данных для записи в файл дампа. Затем значение BugcheckDataSize должно быть DUMP_SIZE + BUGCHECK_DATA_SIZE_RESERVED, а общее значение должно быть меньше или равно 4000.

Константная BUGCHECK_DATA_SIZE_RESERVED (определенная в video.h) доступна в средах сборки Microsoft Windows Server 2003 и более поздних версий. В среде сборки Windows XP с пакетом обновления 1 (SP1) вместо BUGCHECK_DATA_SIZE_RESERVED используйте 48.

Драйвер минипорта может отменить регистрацию ранее зарегистрированного обратного вызова, вызвав эту функцию, указав NULL для параметра обратного вызова или ноль для параметра DataSize.

Дополнительные сведения см. в разделе Поддержка драйвера видеопорта для обратного вызова проверки ошибок.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows XP с пакетом обновления 1 (SP1) и более поздних версиях операционных систем Windows.
целевая платформа Настольный
заголовка video.h (include Video.h)
библиотеки Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

См. также

HwVidBugcheckCallback