Abrufen COPP-Compatible Informationen zur geschützten Ausgabe
Der Display-Miniporttreiber kann Anforderungen zum Abrufen COPP-kompatibler Informationen über die geschützte Ausgabe empfangen, die dem physischen Ausgabeconnector eines Grafikkartes zugeordnet ist. Die DxgkDdiOPMGetCOPPCompatibleInformation-Funktion des Anzeigeminiporttreibers wird mit einem Zeiger an eine DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS Struktur im Parameterparameter übergeben, der die Informationsanforderung enthält. DxgkDdiOPMGetCOPPCompatibleInformation schreibt die erforderlichen Informationen in die DXGKMDT_OPM_REQUESTED_INFORMATION Struktur, auf die der RequestedInformation-Parameter verweist. Die guidInformation - und abParameters-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS die Informationsanforderung angeben. Je nach Informationsanforderung sollte der Anzeigeminiporttreiber die 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 mit den erforderlichen Informationen auffüllen und das element abRequestedInformation 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 angibt, muss der Treiber den CBC-Modus (One-Key Cipher Block Chaining)-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 DxgkDdiOPMGetCOPPCompatibleInformation zurückgibt, muss der Anzeige-Miniporttreiber überprüfen, ob die Sequenznummer, die im ulSequenceNumber-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS angegeben ist, mit der Sequenznummer übereinstimmt, die der Treiber derzeit gespeichert hat. Der Treiber muss dann die gespeicherte Sequenznummer erhöhen.
Hinweis Der Treiber muss eine kryptografisch sichere 128-Bit-Zufallszahl im element rnRandomNumber von DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING oder DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION zurückgeben. Die Zufallszahl wurde von der sendenden Anwendung generiert und im element rnRandomNumber von DXGKMDT_OPM_COPP_COMPATIBLE_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 im element guidInformation festgelegt und nicht definiert im abParameters-Member von DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS, gibt der Treiber die verfügbaren Typen von Schutzmechanismen an. Um die verfügbaren Schutztypen anzugeben, gibt der Treiber eine gültige bitweise OR-Kombination von Werten aus der DXGKMDT_OPM_PROTECTION_TYPE-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück. Die werte DXGKMDT_OPM_PROTECTION_TYPE_ACP, DXGKMDT_OPM_PROTECTION_TYPE_CGMSA und DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP sind gültig.
Für DXGKMDT_OPM_GET_CONNECTOR_TYPE in guidInformation festgelegt und in abParameters nicht definiert ist, gibt der Treiber den Connectortyp an. Um den Connectortyp anzugeben, gibt der Treiber eine gültige bitweise OR-Kombination von Werten 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 der Schutzebene im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück. Wenn der Schutztyp DXGKMDT_OPM_PROTECTION_TYPE_ACP ist, stammt der Wert der Schutzebene aus der DXGKMDT_OPM_ACP_PROTECTION_LEVEL-Enumeration . Wenn der Schutztyp DXGKMDT_OPM_PROTECTION_TYPE_CGMSA ist, stammt der Wert der Schutzebene aus der DXGKMDT_OPM_CGMSA-Enumeration . Wenn der Schutztyp DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP ist, stammt der Wert der Schutzebene aus der DXGKMDT_OPM_HDCP_PROTECTION_LEVEL-Enumeration .
Die DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL-Anforderung gibt die aktuell festgelegte Schutzstufe für die geschützte Ausgabe zurück. Die DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL Anforderung gibt die aktuell festgelegte Schutzstufe für den physischen Connector zurück, der der geschützten Ausgabe zugeordnet ist.
Bei DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE in guidInformation festgelegt und in abParameters undefiniert ist, identifiziert der Treiber den Typ des Busses, der einen Grafikkarten mit der Nordbrücke eines Mutterplatinen-Chipsatzes verbindet. Um den Bustyp zu identifizieren, gibt der Treiber eine gültige bitweise OR-Kombination von Werten aus der DXGKMDT_OPM_BUS_TYPE_AND_IMPLEMENTATION-Enumeration im ulInformation-Member von DXGKMDT_OPM_STANDARD_INFORMATION zurück.
Der Treiber kann den DXGKMDT_OPM_COPP_COMPATIBLE_BUS_TYPE_INTEGRATED -Wert (0x80000000) nur mit einem der Bustypwerte kombinieren, wenn keines der Schnittstellensignale zwischen dem Grafikkarten und anderen Subsystemen auf einem Erweiterungsbus verfügbar ist, der eine öffentlich verfügbare Spezifikation und einen Standardconnectortyp verwendet. Speicherbusse sind von dieser Definition ausgeschlossen.
Für DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT, die in guidInformation festgelegt und in abParameters undefiniert 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 ist.
Für DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING in guidInformation festgelegt und in abParameters undefiniert ist, gibt der Treiber Informationen in den Membern von DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING zurück, die beschreiben, wie das Signal, das durch den physischen Connector fließt, der der geschützten Ausgabe zugeordnet ist, geschützt ist.
Für DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION in guidInformation festgelegt und in abParameters undefiniert ist, gibt der Treiber Informationen in den Membern von DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION zurück, die HDCP-Informationen (High-bandwidth Digital Content Protection) enthalten.