PFND3D11_1DDI_CREATECRYPTOSESSION Rückruffunktion (d3d10umddi.h)
Erstellt eine kryptografische Sitzung zum Verschlüsseln von Videoinhalten, die an den Anzeigeminiporttreiber gesendet werden.
Syntax
PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;
HRESULT Pfnd3d111DdiCreatecryptosession(
D3D10DDI_HDEVICE hDevice,
const D3D11_1DDIARG_CREATECRYPTOSESSION *pCreateData,
D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
D3D11_1DDI_HRTCRYPTOSESSION hRTCryptoSession
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
pCreateData
Ein Zeiger auf eine D3D11_1DDIARG_CREATECRYPTOSESSION-Struktur . Diese Struktur gibt die Attribute der zu erstellenden kryptografischen Sitzung an.
hCryptoSession
Ein Handle für die privaten Daten des Treibers für die kryptografische Sitzung. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
hRTCryptoSession
Ein Handle für die kryptografische Sitzung, das der Treiber verwenden sollte, wenn er in die Direct3D-Runtime zurückruft.
Rückgabewert
Gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Der authentifizierte Kanal wurde erfolgreich erstellt. |
D3DDDIERR_DEVICEREMOVED | Die Grafikkarte wurde entfernt. |
D3DDDIERR_UNSUPPORTEDCRYPTO | Es wurde ein kryptografischer Typ angegeben, der vom Decodierungsprofil nicht unterstützt wird. |
E_OUTOFMEMORY | Der Arbeitsspeicher war zum Abschließen des Vorgangs nicht verfügbar. |
Hinweise
Die Direct3D-Runtime ruft CreateCryptoSession auf, um eine kryptografische Sitzung zu erstellen, die die Laufzeit zum Verwalten eines Sitzungsschlüssels und zum Ausführen kryptografischer Vorgänge für Videoinhalte verwendet, die im geschützten Speicher gespeichert sind.
Die Runtime ruft CreateCryptoSession auf, nachdem sie die CalcPrivateCryptoSessionSize des Treibers aufgerufen hat, um die Größe in Bytes für die privaten Daten zu bestimmen, die der Treiber für die kryptografische Sitzung benötigt. Die Runtime weist den Arbeitsspeicher für diese privaten Daten für den Treiber zu. Der Treiber verwendet diesen Arbeitsspeicher, um private Daten zu speichern, die sich auf die kryptografische Sitzung beziehen.
Wenn die Laufzeit CreateCryptoSession aufruft, übergibt sie das Handle an den privaten Datenspeicher im hCryptoSession-Parameter . Dieses Handle ist eigentlich ein Zeiger auf den Speicher.
Der Treiber muss das Handle für das Anzeigegerät nachverfolgen, das zum Erstellen der kryptografischen Sitzung verwendet wurde. Der Treiber sollte alle nachfolgenden Aufrufe, die diese erstellte kryptografische Sitzung verwenden, wie z. B . NegotiateCryptoSessionKeyExchange, fehlschlagen, wenn sich das in diesen Aufrufen angegebene Anzeigegerät von dem Anzeigegerät unterscheidet, das zum Erstellen der kryptografischen Sitzung verwendet wurde.
Wenn das DecodeProfile-Element der D3D11_1DDIARG_CREATECRYPTOSESSION-Struktur auf NULL_GUID festgelegt ist, wird die kryptografische Sitzung nicht für die DirectX-Videobeschleunigung (DXVA) verwendet. Wenn DecodeProfile nicht auf NULL_GUID festgelegt ist, sollte der Treiber den Aufruf mit D3DDDIERR_UNSUPPORTEDCRYPTO fehlschlagen, wenn das CryptoType-Element auf einen kryptografischen Typ festgelegt ist, der vom Decodierungsprofil nicht unterstützt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Desktop |
Kopfzeile | d3d10umddi.h (include D3d10umddi.h) |