DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION Rückruffunktion (dispmprt.h)
Die funktion DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION ruft Informationen ab, die mit dem Certified Output Protection Protocol (COPP) kompatibel sind, aus dem angegebenen geschützten Ausgabeobjekt.
Syntax
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION DxgkddiOpmGetCoppCompatibleInformation;
NTSTATUS DxgkddiOpmGetCoppCompatibleInformation(
[in] PVOID MiniportDeviceContext,
[in] HANDLE ProtectedOutputHandle,
[in] const DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS *Parameters,
[out] PDXGKMDT_OPM_REQUESTED_INFORMATION RequestedInformation
)
{...}
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] ProtectedOutputHandle
Das Handle für ein geschütztes Ausgabeobjekt. Die DxgkDdiOPMCreateProtectedOutput-Funktion erstellt das geschützte Ausgabeobjekt und gibt das Handle an das Objekt zurück. Das geschützte Ausgabeobjekt, das diesem Handle entspricht, sollte über COPP-Semantik verfügen.
[in] Parameters
Ein Zeiger auf eine DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS-Struktur , die den Typ der COPP-kompatiblen Informationen enthält, die aus dem geschützten Ausgabeobjekt abgerufen werden sollen, dessen Handle im ProtectedOutputHandle-Parameter angegeben ist. DxgkDdiOPMGetCOPPCompatibleInformation bestimmt, ob die Parameter eine gültige Anforderung von der Anwendung enthalten, die indirekt das geschützte Ausgabeobjekt erstellt hat. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
[out] RequestedInformation
Ein Zeiger auf eine DXGKMDT_OPM_REQUESTED_INFORMATION-Struktur , die die COPP-kompatiblen Informationen des geschützten Ausgabeobjekts empfängt, wenn DxgkDdiOPMGetCOPPCompatibleInformation erfolgreich zurückgibt.
Wenn DxgkDdiOPMGetCOPPCompatibleInformation fehlschlägt, bleibt der Wert, auf den RequestedInformation verweist, unverändert.
Rückgabewert
DxgkDdiOPMGetCOPPCompatibleInformation gibt STATUS_SUCCESS oder einen Ntstatus.h-Fehlercode zurück.
Hinweise
Das DirectX-Grafikkernsubsystem sollte DxgkDdiOPMGetCOPPCompatibleInformation nur aufrufen, wenn die Ausgabe über COPP-Semantik verfügt.
Bevor das DirectX-Grafikkernsubsystem das geschützte Ausgabehandle in einem Aufruf von DxgkDdiOPMGetCOPPCompatibleInformation an den ProtectedOutputHandle-Parameter übergibt, übergibt das DirectX-Grafikkernsubsystem immer das geschützte Ausgabehandle an die Funktionen DxgkDdiOPMSetSigningKeyAndSequenceNumbers und DxgkDdiOPMGetRandomNumber.
Im Folgenden sind einige Fakten aufgeführt, die sich auf DxgkDdiOPMGetCOPPCompatibleInformation beziehen und die sich nicht auf die DxgkDdiOPMGetInformation-Funktion beziehen:
Das DirectX-Grafikkernsubsystem kann ein Handle nur mit COPP-Semantik an eine geschützte Ausgabe übergeben.
Die DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS Struktur, auf die der Parameterparameter verweist, ist nicht signiert.
Das DirectX-Grafikkernsubsystem kann die DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING und DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION GUIDs im guidInformation-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS übergeben.
Das DirectX-Grafikkernsubsystem kann die DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION GUID im guidInformation-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS nicht übergeben.
Das DirectX-Grafikkernsubsystem kann DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP in den ersten 4 Bytes des abParameters-Elements von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS zusammen mit der DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL oder DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID im guidInformation-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS angeben.
Das DirectX-Grafikkernsubsystem kann nicht DXGKMDT_OPM_PROTECTION_TYPE_HDCP in den ersten vier Bytes des abParameters-Elements von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS zusammen mit der DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL oder DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID im guidInformation-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS angeben.
Der Treiber muss die folgende Sequenz ausführen, wenn seine DxgkDdiOPMGetCOPPCompatibleInformation-Funktion aufgerufen wird.
Überprüfen Sie, ob das geschützte Ausgabehandle, das an den ProtectedOutputHandle-Parameter von DxgkDdiOPMGetCOPPCompatibleInformation übergeben wurde, über COPP-Semantik verfügt.
Rufen Sie die angeforderten Informationen ab.
Kopieren Sie die Zufallszahl, die der rnRandomNumber-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS angibt, in den rnRandomNumber-Member der DXGKMDT_OPM_STANDARD_INFORMATION-, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT-, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING- oder DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION-Struktur. Die verwendete Struktur hängt vom Typ der Vom Aufrufer angeforderten Informationen ab. Die -Struktur wird im abRequestedInformation-Member der DXGKMDT_OPM_REQUESTED_INFORMATION-Struktur festgelegt, auf die der RequestedInformation-Parameter verweist.
Signieren Sie die DXGKMDT_OPM_REQUESTED_INFORMATION-Struktur , und platzieren Sie die Signatur im omac-Element von DXGKMDT_OPM_REQUESTED_INFORMATION. Die AES-Blockchiffre und der OMAC-1-Signaturalgorithmus sollten verwendet werden, um die Struktur zu signieren. Informationen zu AES finden Sie auf der RSA Laboratories-Website . Informationen zu OMAC-1 finden Sie auf der Referenzseite DXGKMDT_OPM_OMAC .
Zunächst ruft das DirectX-Grafikkernsubsystem DxgkDdiOPMGetCOPPCompatibleInformation auf, um Informationen zur Ausgabe abzurufen, und ruft dann dxgkDdiOPMConfigureProtectedOutput ein oder mehrmals auf, um die Ausgabe zu konfigurieren. Anschließend ruft das DirectX-Grafikkernsubsystem DxgkDdiOPMGetCOPPCompatibleInformation auf , ohne auch DxgkDdiOPMConfigureProtectedOutput aufzurufen.
DxgkDdiOPMGetCOPPCompatibleInformation sollte ausgelagert werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dispmprt.h (include Dispmprt.h) |
IRQL | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
Weitere Informationen
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMCreateProtectedOutput
DxgkDdiOPMSetSigningKeyAndSequenceNumbers