IAMCertifiedOutputProtection::KeyExchange-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die KeyExchange-Methode gibt das Zertifikat des Grafiktreibers zurück.
Syntax
HRESULT KeyExchange(
[out] GUID *pRandom,
[out] BYTE **VarLenCertGH,
[out] DWORD *pdwLengthCertGH
);
Parameter
[out] pRandom
Empfängt eine 128-Bit-Zufallszahl, die vom Grafiktreiber generiert wird. Verwenden Sie diesen Wert in der IAMCertifiedOutputProtection::SessionSequenceStart-Methode .
[out] VarLenCertGH
Empfängt einen Zeiger auf einen Puffer, der das Zertifikat des Grafiktreibers enthält. Die -Methode weist den Arbeitsspeicher für den Puffer zu. Der Aufrufer muss den Arbeitsspeicher freigeben, indem er CoTaskMemFree aufruft.
[out] pdwLengthCertGH
Empfängt die Länge des in VarLenCertGH zurückgegebenen Puffers.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.
Rückgabecode | Beschreibung |
---|---|
|
Erfolg. |
|
Ungültiger Zustand. Möglicherweise hat die Anwendung unerwartete Daten übergeben oder IAMCertifiedOutputProtection-Methoden in der falschen Reihenfolge aufgerufen. Wenn dieser Fehler auftritt, sollte die Anwendung den aktuellen instance der VMR freigeben. |
|
Das Anzeigegerät unterstützt COPP nicht. oder der VMR hat noch keine Verbindung mit einem Anzeigegerät hergestellt. |
|
Dem Anzeigegerät entsprechen keine Monitore. Dieser Fehler kann auftreten, wenn sich der Anzeigemodus ändert. oder der Benutzer schaltet einen Monitor aus oder entfernt einen Monitor. |
Bemerkungen
Das Zertifikat des Grafiktreibers enthält den öffentlichen Verschlüsselungsschlüssel des Treibers.
Wenn diese Methode E_UNEXPECTED zurückgibt, sollte die Anwendung eine neue COPP-Sitzung erstellen, indem sie die VMR loslässt, eine neue instance des VMR erstellt und erneut für die neue instance aufruftKeyExchange
.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP mit SP2 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | strmif.h (include Dshow.h) |
Bibliothek | Strmiids.lib |