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


функция обратного вызова 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, адаптер был успешно защищен от доступа. Код состояния сбоя указывает, что адаптер не защищен.

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

Никакой

Замечания

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Настольный
заголовка dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

См. также

DxgkCbExcludeAdapterAccess