DXGKDDI_OPM_GET_INFORMATION Rückruffunktion (dispmprt.h)
Die DXGKDDI_OPM_GET_INFORMATION-Funktion ruft Informationen aus dem angegebenen geschützten Ausgabeobjekt ab.
Syntax
DXGKDDI_OPM_GET_INFORMATION DxgkddiOpmGetInformation;
NTSTATUS DxgkddiOpmGetInformation(
[in] PVOID MiniportDeviceContext,
[in] HANDLE ProtectedOutputHandle,
[in] const DXGKMDT_OPM_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 OPM-Semantik aufweisen.
[in] Parameters
Ein Zeiger auf eine DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS-Struktur, die Parameter enthält, die zum Abrufen von Informationen aus einem geschützten Ausgabeobjekt verwendet werden, dessen Handle im ProtectedOutputHandle-Parameter angegeben ist. DXGKDDI_OPM_GET_INFORMATION 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 Informationen des geschützten Ausgabeobjekts empfängt, wenn DXGKDDI_OPM_GET_INFORMATION erfolgreich zurückgegeben wird.
Wenn DXGKDDI_OPM_GET_INFORMATION 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 DXGKDDI_OPM_GET_INFORMATION nur aufrufen, wenn die Ausgabe OPM-Semantik aufweist.
Bevor das DirectX-Grafik-Kernelsubsystem das geschützte Ausgabehandle an den ProtectedOutputHandle Parameter in einem Aufruf von DXGKDDI_OPM_GET_INFORMATIONübergibt, übergibt das DirectX-Grafik-Kernelsubsystem immer das geschützte Ausgabehandle an die DxgkDdiOPMSetSigningKeyAndSequenceNumbers und DxgkDdiOPMGetRandomNumber Funktionen.
DXGKDDI_OPM_GET_INFORMATION ruft einen der folgenden Informationstypen ab:
- Der Verbindertyp der geschützten Ausgabe.
- Die Inhaltsschutztypen, die von der geschützten Ausgabe unterstützt werden. Geschützte Ausgaben können derzeit ACP, CGMS-A und HDCP unterstützen.
- Die aktuelle virtuelle Schutzebene der geschützten Ausgabe für einen bestimmten Schutztyp.
- Die tatsächliche Schutzstufe der physischen Ausgabe für einen bestimmten Schutztyp.
- Die Version des HDCP SRM, das derzeit von der geschützten Ausgabe verwendet wird.
- Die Art des Erweiterungsbus, den der Grafikadapter verwendet, und wie der Grafikadapter mit der Nordbrücke des Computers verbunden ist.
- Das Format der Bilder, die der Grafikadapter von der physischen Ausgabe an den Monitor sendet.
Das guidInformation-Element Member der DXGKMDT_OPM_GET_INFO_PARAMETERS-Struktur, auf das der Parameters Parameter verweist, sollte niemals die DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION und DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING GUIDs enthalten, da nur COPP-Anwendungen diese GUIDs angeben sollten.
Die ersten 4 Byte des abParameters Member von DXGKMDT_OPM_GET_INFO_PARAMETERS sollten niemals den DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP Schutztyp enthalten, wenn die DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL oder DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID im guidInformation Mitglied von DXGKMDT_OPM_GET_INFO_PARAMETERS angegeben wird, da nur COPP-Anwendungen diesen Schutztyp verwenden.
Der Treiber muss die folgende Sequenz ausführen, wenn die DXGKDDI_OPM_GET_INFORMATION Funktion aufgerufen wird.
Stellen Sie sicher, dass der geschützte Ausgabehandle, der an den ProtectedOutputHandle übergeben wurde, Parameter von DXGKDDI_OPM_GET_INFORMATION opM-Semantik aufweist.
Stellen Sie sicher, dass die Informationen im Parameter Parameter mit dem Signaturschlüssel des geschützten Ausgabeobjekts signiert wurden. Der Signaturschlüssel des geschützten Ausgabeobjekts wurde zuvor festgelegt, als die DxgkDdiOPMSetSigningKeyAndSequenceNumbers Funktion aufgerufen wurde. Die AES-Blockchiffre (Advanced Encryption Standard) und der OMAC-1-Signaturalgorithmus sollten verwendet werden, um die Signatur zu überprüfen. Informationen zu AES finden Sie auf der Website RSA Laboratories. Informationen zu OMAC-1 finden Sie auf der DXGKMDT_OPM_OMAC Referenzseite.
Rufen Sie die angeforderten Informationen ab.
Kopieren Sie die Zufallszahl, die das Element von DXGKMDT_OPM_GET_INFO_PARAMETERS angibt, an das rnRandomNumber-Element in der DXGKMDT_OPM_STANDARD_INFORMATION- oder DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT-Struktur an. Die verwendete Struktur hängt vom Typ der vom Aufrufer angeforderten Informationen ab und wird im "abRequestedInformation" Element 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.
Zunächst ruft das DirectX-Grafik-Kernelsubsystem DXGKDDI_OPM_GET_INFORMATION auf, um Informationen über die Ausgabe abzurufen, und ruft dann DxgkDdiOPMConfigureProtectedOutput ein oder mehrere Male auf, um die Ausgabe zu konfigurieren. Anschließend ruft das DirectX-Kernelsubsystem DXGKDDI_OPM_GET_INFORMATION auf, ohne auch DxgkDdiOPMConfigureProtectedOutputaufzurufen.
DXGKDDI_OPM_GET_INFORMATION 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