Freigeben über


Abrufen von Informationen zu einer geschützten Ausgabe

Der Display-Miniporttreiber kann Anforderungen zum Abrufen von Informationen über die geschützte Ausgabe empfangen, die dem physischen Ausgabeconnector einer Grafikkarte zugeordnet ist. Die DxgkDdiOPMGetInformation-Funktion des Anzeigeminiporttreibers wird mit einem Zeiger auf eine DXGKMDT_OPM_GET_INFO_PARAMETERS-Struktur im Parameterparameter übergeben, der die Informationsanforderung enthält. DxgkDdiOPMGetInformation schreibt die erforderlichen Informationen in die DXGKMDT_OPM_REQUESTED_INFORMATION Struktur, auf die der RequestedInformation-Parameter verweist. Die Member guidInformation und abParameters von DXGKMDT_OPM_GET_INFO_PARAMETERS die Informationsanforderung angeben. Abhängig von der Informationsanforderung sollte der Anzeige-Miniporttreiber die Member der DXGKMDT_OPM_STANDARD_INFORMATION-, DXGKMDT_OPM_OUTPUT_ID- oder DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT-Struktur mit den erforderlichen Informationen auffüllen und den abRequestedInformation-Member von DXGKMDT_OPM_REQUESTED_INFORMATION auf diese Struktur verweisen. Nachdem der Treiber die Elemente cbRequestedInformationSize (z. B. sizeof (DXGKMDT_OPM_STANDARD_INFORMATION)) und abRequestedInformation von DXGKMDT_OPM_REQUESTED_INFORMATION angegeben hat, muss der Treiber den CBC-Nachrichtenauthentifizierungscode (One-Key Cipher Block Chaining) für die Daten in DXGKMDT_OPM_REQUESTED_INFORMATION berechnen und diesen OMAC im omac-Member von DXGKMDT_OPM_REQUESTED_INFORMATION festlegen. Weitere Informationen zum Berechnen von OMAC finden Sie im OMAC-1-Algorithmus.

Hinweis Bevor DxgkDdiOPMGetInformation zurückgibt, muss der Anzeigeminiporttreiber überprüfen, ob der im omac-Element von DXGKMDT_OPM_GET_INFO_PARAMETERS angegebene OMAC korrekt ist. Der Treiber muss auch überprüfen, ob die sequenzische Nummer, die im ulSequenceNumber-Member von DXGKMDT_OPM_GET_INFO_PARAMETERS angegeben ist, mit der Sequenznummer übereinstimmt, die der Treiber derzeit gespeichert hat. Der Treiber muss dann die gespeicherte Sequenznummer inkrementieren.

Hinweis Der Treiber muss eine kryptografisch sichere 128-Bit-Zufallszahl im element rnRandomNumber von DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_OUTPUT_ID oder DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT zurückgeben. Die Zufallszahl wurde von der sendenden Anwendung generiert und im element rnRandomNumber von DXGKMDT_OPM_GET_INFO_PARAMETERS angegeben.

Der Treiber gibt die folgenden Informationen für die angegebene Anforderung zurück:

  • Für DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES, die im guidInformation-Member und nicht definiert im abParameters-Member der DXGKMDT_OPM_GET_INFO_PARAMETERS-Struktur festgelegt sind, gibt der Treiber die verfügbaren Arten von Schutzmechanismen an. Um die verfügbaren Schutztypen anzugeben, gibt der Treiber eine gültige bitweise OR-Wertekombination aus der DXGKMDT_OPM_PROTECTION_TYPE-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück. Die werte DXGKMDT_OPM_PROTECTION_TYPE_HDCP und DXGKMDT_OPM_PROTECTION_TYPE_DPCP sind gültig.

  • Für DXGKMDT_OPM_GET_CONNECTOR_TYPE, die in guidInformation und nicht definiert in abParameters festgelegt sind, gibt der Treiber den Connectortyp an. Um den Connectortyp anzugeben, gibt der Treiber eine gültige bitweise OR-Wertekombination aus der D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück.

  • Für DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL oder DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL, die in guidInformation und dem in abParameters festgelegten Schutztyp festgelegt sind, gibt der Treiber einen Wert auf Schutzebene im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück. Wenn der Schutztyp DXGKMDT_OPM_PROTECTION_TYPE_HDCP ist, stammt der Wert auf Schutzebene aus der DXGKMDT_OPM_HDCP_PROTECTION_LEVEL-Enumeration . Wenn der Schutztyp DXGKMDT_OPM_PROTECTION_TYPE_DPCP ist, stammt der Wert der Schutzebene aus der DXGKMDT_OPM_DPCP_PROTECTION_LEVEL-Enumeration .

    Die DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL-Anforderung gibt die derzeit festgelegte Schutzebene für die geschützte Ausgabe zurück. Die DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL-Anforderung gibt die derzeit festgelegte Schutzebene für den physischen Connector zurück, der der geschützten Ausgabe zugeordnet ist.

  • Bei DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE, die in guidInformation und nicht definiert in abParameters festgelegt sind, identifiziert der Treiber den Typ und die Implementierung des Busses, der einen Grafikkarten mit der Nordbrücke eines Mutterboard-Chipsatzes verbindet. Um den Typ und die Implementierung des Busses zu identifizieren, gibt der Treiber eine gültige bitweise OR-Wertekombination aus der DXGKMDT_OPM_BUS_TYPE_AND_IMPLEMENTATION-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück.

  • Für DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION, die in guidInformation und nicht definiert in abParameters festgelegt sind, gibt der Treiber einen Wert im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück, der die Versionsnummer der aktuellen HDCP-Systemerneuerungsmeldung (High-bandwidth Digital Content Protection) für die geschützte Ausgabe identifiziert. Die am wenigsten signifikanten Bits (Bits 0 bis 15) enthalten die Versionsnummer des SRM im Little-Endian-Format. Weitere Informationen zur SRM-Versionsnummer finden Sie unter HDCP Specification Revision 1.1.

  • Für DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT, die in guidInformation undefiniert in abParameters festgelegt sind, gibt der Treiber Informationen in den Membern von DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT zurück, die beschreiben, wie das Signal, das durch den physischen Connector fließt, der der geschützten Ausgabe zugeordnet ist, formatiert wird.

  • Für DXGKMDT_OPM_GET_OUTPUT_ID, die in guidInformation und nicht definiert in abParameters festgelegt sind, gibt der Treiber Informationen in den Membern von DXGKMDT_OPM_OUTPUT_ID zurück, die den Ausgabeconnector identifiziert.

  • Bei DXGKMDT_OPM_GET_DVI_CHARACTERISTICS, die im member guidInformation festgelegt und im abParameters-Member der DXGKMDT_OPM_GET_INFO_PARAMETERS-Struktur nicht definiert sind, gibt der Treiber die elektrischen Merkmale eines DVI-Ausgangssteckers (Digital Video Interface) an. Um die elektrischen DVI-Merkmale anzugeben, gibt der Treiber einen der Werte aus der DXGKDT_OPM_DVI_CHARACTERISTICS-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück.