Поделиться через


функция обратного вызова DXGKDDI_PROTECTED_CALLBACK (dispmprt.h)

Подпрограмма обратного вызова DxgkProtectedCallback реализуется драйвером мини-порта дисплея и вызывается DxgkCbExcludeAdapterAccess в защищенном состоянии, когда весь доступ к адаптеру дисплея запрещен.

Синтаксис

DXGKDDI_PROTECTED_CALLBACK DxgkddiProtectedCallback;

void DxgkddiProtectedCallback(
  [in] IN_CONST_PVOID MiniportDeviceContext,
  [in] PVOID ProtectedCallbackContext,
  [in] NTSTATUS ProtectionStatus
)
{...}

Параметры

[in] MiniportDeviceContext

Дескриптор для блока контекста, связанного с видеоадаптером. Функция DxgkDdiAddDevice драйвера мини-порта дисплея ранее предоставляла этот дескриптор подсистеме графического ядра DirectX.

[in] ProtectedCallbackContext

Указатель на определяемые драйвером сведения, указанные в предыдущем вызове DxgkCbExcludeAdapterAccess.

[in] ProtectionStatus

Состояние защищенного состояния видеоадаптера. Если STATUS_SUCCESS, адаптер был успешно защищен от доступа. Код состояния сбоя указывает, что адаптер не защищен.

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

None

Remarks

DxgkProtectedCallback необходимо вызывать только в том случае, если весь доступ к адаптеру дисплея был остановлен, как указано параметром состояния ProtectionStatus.

Драйвер должен убедиться, что во время процедуры обратного вызова выполняются следующие условия:

  • Все прерывания на устройстве отключены, а все оставшиеся ожидающие прерывания обрабатываются, включая все DPC, которые могли быть поставлены в очередь на любом ЦП, но еще не обслуживались.
  • Вся объединенная память для записи и все другие состояния, связанные с кэшем, были удалены.
  • Любые события ACPI или BIOS/SMI, которые происходят, не имеют доступа к оборудованию.
  • Обеспечивается согласованность между всеми адаптерами в конфигурации состояния связанного адаптера.
  • Адаптер, включая его регистры и режим отображения, поддерживается в надлежащем состоянии для обработки буфера DMA, который возникает при возврате из подпрограммы DxgkProtectedCallback . Драйвер не должен изменять видимое состояние или возможности любого приложения.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть dispmprt.h (включая Dispmprt.h)
IRQL PASSIVE_LEVEL

См. также раздел

DxgkCbExcludeAdapterAccess