Freigeben über


DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT Rückruffunktion (dispmprt.h)

Die DxgkDdiOPMCreateProtectedOutput-Funktion erstellt ein neues geschütztes Ausgabeobjekt mit certified Output Protection Protocol (COPP) oder OPM-Semantik.

Syntax

DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;

NTSTATUS DxgkddiOpmCreateProtectedOutput(
  [in]  PVOID MiniportDeviceContext,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in]  DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
  [out] PHANDLE NewProtectedOutputHandle
)
{...}

Parameter

[in] MiniportDeviceContext

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

[in] VidPnTargetId

Eine ganze Zahl, die das video vorliegende Ziel eindeutig identifiziert, das dem neuen geschützten Ausgabeobjekt entspricht. Jedes vorhandene Videoziel muss einem physischen Monitor-Connector entsprechen. Wenn VidPnTargetId mehreren Physischen Monitorconnectors entspricht, sollte DxgkDdiOPMCreateProtectedOutput den STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED oder STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED Fehlercode zurückgeben.

[in] NewVideoOutputSemantics

Ein DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS typisierter Wert, der bestimmt, ob die neue geschützte Ausgabe über COPP- oder OPM-Semantik verfügt.

[out] NewProtectedOutputHandle

Ein Zeiger auf eine Variable, die das Handle für das neue geschützte Ausgabeobjekt empfängt, wenn DxgkDdiOPMCreateProtectedOutput erfolgreich zurückgibt. Das DirectX-Grafikkernsubsystem übergibt dieses Handle in Aufrufen von DxgkDdiOPMGetRandomNumber, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutput und DxgkDdiOPMDestroyProtectedOutput.

Wenn DxgkDdiOPMCreateProtectedOutput fehlschlägt, bleibt der Wert der Variablen unverändert.

Rückgabewert

DxgkDdiOPMCreateProtectedOutput gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS Die Funktion hat erfolgreich ein neues geschütztes Ausgabeobjekt erstellt.
STATUS_GRAPHICS_OPM_NOT_SUPPORTED Der Display-Miniporttreiber unterstützt OPM nicht, da der Hardwarehersteller den OPM-Lizenzvertrag nie unterzeichnet hat oder die Grafikhardware des Miniporttreibers nicht den OPM-Regeln entspricht.
STATUS_GRAPHICS_COPP_NOT_SUPPORTED Der Display-Miniporttreiber unterstützt COPP nicht, da der Hardwarehersteller den COPP-Lizenzvertrag nie unterzeichnet hat oder die Grafikhardware des Miniporttreibers nicht den COPP-Regeln entspricht.
STATUS_NO_MEMORY DxgkDdiOPMCreateProtectedOutput kann keinen Speicher zuordnen, der für den Abschluss erforderlich ist.
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput konnte keine geschützte Ausgabe erstellen, da sich das vorliegende Videoziel im übergreifenden Modus befindet. Wenn sich das vorliegende Videoziel im Überspannmodus befindet, entspricht es mehreren physischen Monitor-Anschlüssen, und jeder Verbinder zeigt einen separaten Teil des Framepuffers an. Ein Diagramm, wie der Anzeige-Miniporttreiber in der Regel den Übergreifenden Modus implementiert, finden Sie im Abschnitt Hinweise. Der Display-Miniporttreiber informiert das Betriebssystem darüber, wie der Framepuffer einem bestimmten Monitor entspricht. Die linke Hälfte des Framepuffers wird auf einem Monitor angezeigt, und die rechte Hälfte des Framepuffers wird auf dem anderen Monitor angezeigt.
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput konnte keine geschützte Ausgabe erstellen, da sich das vorliegende Videoziel im Theatermodus befindet. Wenn sich das vorliegende Videoziel im Theatermodus befindet, entspricht es zwei physischen Monitor-Anschlüssen. Ein Connector zeigt den gesamten Framepuffer an, und der andere Connector zeigt nur einen Teil des Framepuffers an. Der Theatermodus wird auch als Spiegel Modus bezeichnet. Ein Diagramm, wie der Anzeige-Miniporttreiber in der Regel den Theatermodus implementiert, finden Sie im Abschnitt Hinweise. Der Display-Miniporttreiber informiert das Betriebssystem darüber, wie der Framepuffer einem bestimmten Monitor entspricht. Der gesamte Framepuffer wird auf einem Monitor angezeigt, und nur ein Teil des Framepuffers wird auf dem anderen Monitor angezeigt.

Diese Funktion gibt möglicherweise auch andere Fehlercodes zurück, die in Ntstatus.h definiert sind.

Hinweise

Die folgende Abbildung zeigt, wie der Anzeige-Miniporttreiber in der Regel den Übergreifenden Modus implementiert.

Diagramm zur Veranschaulichung des übergreifenden Modus Die folgende Abbildung zeigt, wie der Anzeige-Miniporttreiber in der Regel den Theatermodus implementiert. Diagramm zur Veranschaulichung des Theatermodus *DxgkDdiOPMCreateProtectedOutput* sollte ausgelagert werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDestroyProtectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers