DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION Rückruffunktion (dispmprt.h)
Die DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION-Funktion ruft Informationen ab, die mit dem Certified Output Protection Protocol (COPP) aus dem angegebenen geschützten Ausgabeobjekt kompatibel sind.
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 zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Zuvor stellte die DxgkDdiAddDevice-Funktion des Display-Miniporttreibers dieses Handle für das DirectX-Grafik-Kernel-Subsystem bereit.
[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 COPP-Semantik aufweisen.
[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 der Anwendung enthalten, die indirekt das geschützte Ausgabeobjekt erstellt hat. Weitere Informationen finden Sie im Abschnitt "Hinweise".
[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ückgegeben wird.
Wenn DxgkDdiOPMGetCOPPCompatibleInformation fehlschlägt, ist der Wert, auf den RequestedInformation verweist, unverändert.
Rückgabewert
DxgkDdiOPMGetCOPPCompatibleInformation gibt STATUS_SUCCESS oder einen Ntstatus.h Fehlercode zurück.
Bemerkungen
Das DirectX-Grafik-Kernelsubsystem sollte DxgkDdiOPMGetCOPPCompatibleInformation nur aufrufen, wenn die Ausgabe ÜBER COPP-Semantik verfügt.
Bevor das DirectX-Grafik-Kernelsubsystem das geschützte Ausgabehandle an den ProtectedOutputHandle Parameter in einem Aufruf von DxgkDdiOPMGetCOPPCompatibleInformationübergibt, werden die DirectX-Grafiken Kernel-Subsystem übergibt immer den geschützten Ausgabehandle an die DxgkDdiOPMSetSigningKeyAndSequenceNumbers und DxgkDdiOPMGetRandomNumber Funktionen.
Im Folgenden sind einige Fakten aufgeführt, die sich auf DxgkDdiOPMGetCOPPCompatibleInformation beziehen und die sich nicht auf die funktion DxgkDdiOPMGetInformation beziehen:
Das DirectX-Grafik-Kernelsubsystem 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 parameter verweist, ist nicht signiert.
Das DirectX-Grafik-Kernelsubsystem kann die DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING und DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION GUIDs im guidInformation Mitglied von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS übergeben.
Das DirectX-Grafik-Kernelsubsystem kann die DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION GUID nicht im guidInformation Mitglied von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS übergeben.
Das DirectX-Grafik-Kernelsubsystem kann DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP in den ersten 4 Byte des abParameters Member 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-Grafik-Kernelsubsystem kann nicht DXGKMDT_OPM_PROTECTION_TYPE_HDCP in den ersten 4 Byte des abParameters Member 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 die DxgkDdiOPMGetCOPPCompatibleInformation Funktion aufgerufen wird.
Stellen Sie sicher, dass das geschützte Ausgabehandle, das an den ProtectedOutputHandle Parameter von DxgkDdiOPMGetCOPPCompatibleInformation über COPP-Semantik übergeben wurde.
Rufen Sie die angeforderten Informationen ab.
Kopieren Sie die Zufallszahl, die das Element von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS angibt, an das 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 an. Die verwendete Struktur hängt vom Typ der Informationen ab, die der Aufrufer angefordert hat. 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 Mitglied von DXGKMDT_OPM_REQUESTED_INFORMATION. Die AES-Blockchiffre und der OMAC-1-Signaturalgorithmus sollten zum Signieren der Struktur verwendet werden. Informationen zu AES finden Sie auf der Website RSA Laboratories. Informationen zu OMAC-1 finden Sie auf der DXGKMDT_OPM_OMAC Referenzseite.
Zunächst ruft das DirectX-Grafik-Kernelsubsystem DxgkDdiOPMGetCOPPCompatibleInformation auf, um Informationen über die Ausgabe abzurufen, und ruft dann DxgkDdiOPMConfigureProtectedOutput eine oder mehrere Male zum Konfigurieren der Ausgabe auf. Anschließend ruft das DirectX-Kernelsubsystem DxgkDdiOPMGetCOPPCompatibleInformation auf, ohne auch DxgkDdiOPMConfigureProtectedOutputaufzurufen.
DxgkDdiOPMGetCOPPCompatibleInformation sollte seitenfähig gemacht werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | dispmprt.h (include Dispmprt.h) |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
Siehe auch
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMCreateProtectedOutput
DxgkDdiOPMSetSigningKeyAndSequenceNumbers