DXGKDDI_PROTECTED_CALLBACK Rückruffunktion (dispmprt.h)

Die DxgkProtectedCallback-Rückrufroutine wird vom Anzeigeminiporttreiber implementiert und wird von DxgkCbExcludeAdapterAccess während eines geschützten Zustands aufgerufen, wenn der gesamte Zugriff auf die Anzeigekarte verhindert ist.

Syntax

DXGKDDI_PROTECTED_CALLBACK DxgkddiProtectedCallback;

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

Parameter

[in] MiniportDeviceContext

Ein Handle für einen Kontextblock, der einem Grafikkarte zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Anzeigeminiporttreibers hat dieses Handle zuvor für das DirectX-Grafikkernsubsystem bereitgestellt.

[in] ProtectedCallbackContext

Ein Zeiger auf vom Treiber definierte Informationen, die in einem vorherigen Aufruf von DxgkCbExcludeAdapterAccess angegeben wurden.

[in] ProtectionStatus

Status des geschützten Zustands der Grafikkarte. Wenn STATUS_SUCCESS, wurde der Adapter erfolgreich vor dem Zugriff geschützt. Ein Fehler status Code weist darauf hin, dass der Adapter nicht geschützt ist.

Rückgabewert

Keine

Bemerkungen

DxgkProtectedCallback darf nur aufgerufen werden, wenn der gesamte Zugriff auf den Grafikkarten angehalten wurde, wie im status Parameter ProtectionStatus angegeben.

Der Treiber muss sicherstellen, dass die folgenden Bedingungen während der Rückrufroutine erfüllt sind:

  • Alle Interrupts auf dem Gerät sind deaktiviert, und alle verbleibenden ausstehenden Interrupts werden verarbeitet, einschließlich aller DPCs, die möglicherweise auf einer CPU in die Warteschlange gestellt wurden, aber noch nicht gewartet wurden.
  • Der gesamte kombinierte Schreibspeicher und alle anderen cachebezogenen Zustände wurden geleert.
  • Alle ACPI- oder BIOS/SMI-Ereignisse, die auftreten, greifen nicht auf die Hardware zu.
  • Die Kohärenz wird zwischen allen Adaptern in einer Verbindungsadapterzustandskonfiguration erreicht.
  • Der Adapter, einschließlich seiner Register und des Anzeigemodus, wird in dem richtigen Zustand beibehalten, um den DMA-Puffer zu verarbeiten, der bei der Rückgabe von der DxgkProtectedCallback-Routine auftritt. Der Treiber sollte den sichtbaren Zustand oder die Funktionen einer Anwendung nicht ändern.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Zielplattform Desktop
Kopfzeile dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

DxgkCbExcludeAdapterAccess