Freigeben über


DXGKDDI_PROTECTED_CALLBACK Rückruffunktion (dispmprt.h)

Die DxgkProtectedCallback- Rückrufroutine wird vom Display Miniporttreiber implementiert und von DxgkCbExcludeAdapterAccess während eines geschützten Zustands aufgerufen, wenn der gesamte Zugriff auf den Anzeigeadapter verhindert wird.

Syntax

DXGKDDI_PROTECTED_CALLBACK DxgkddiProtectedCallback;

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

Parameter

[in] MiniportDeviceContext

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers stellt dieses Handle zuvor für das DirectX-Grafik-Kernel-Subsystem bereit.

[in] ProtectedCallbackContext

Ein Zeiger auf treiberdefinierte Informationen, die in einem vorherigen Aufruf von DxgkCbExcludeAdapterAccessangegeben wurden.

[in] ProtectionStatus

Status des geschützten Zustands des Anzeigeadapters. Wenn STATUS_SUCCESS, wurde der Adapter erfolgreich vor zugriff geschützt. Ein Fehlerstatuscode gibt an, dass der Adapter nicht geschützt ist.

Rückgabewert

Nichts

Bemerkungen

DxgkProtectedCallback- nur aufgerufen werden, wenn der gesamte Zugriff auf den Anzeigeadapter angehalten wurde, wie durch den Statusparameter ProtectionStatus angegeben.

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

  • Alle Unterbrechungen auf dem Gerät sind deaktiviert, und alle verbleibenden ausstehenden Unterbrechungen werden verarbeitet, einschließlich aller DPCs, die möglicherweise auf einer CPU in die Warteschlange gestellt wurden, aber noch nicht gewartet wurden.
  • Alle schreibgeschützten Speicher 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 im richtigen Zustand beibehalten, um den DMA-Puffer zu behandeln, der auf der Rückgabe von der DxgkProtectedCallback Routine auftritt. Der Treiber sollte den sichtbaren Zustand oder die Funktionen einer Anwendung nicht ändern.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- dispmprt.h (include Dispmprt.h)
IRQL- PASSIVE_LEVEL

Siehe auch

DxgkCbExcludeAdapterAccess