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.
Die folgende Abbildung zeigt, wie der Anzeige-Miniporttreiber in der Regel den Theatermodus implementiert. *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
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput