CreateCryptoSession 函式會建立密碼編譯會話,Direct3D 運行時間用來管理會話密鑰,以及執行加密作業進出受保護的記憶體。
語法
PFND3DDDI_CREATECRYPTOSESSION Pfnd3dddiCreatecryptosession;
HRESULT Pfnd3dddiCreatecryptosession(
HANDLE hDevice,
D3DDDIARG_CREATECRYPTOSESSION *unnamedParam2
)
{...}
參數
hDevice
顯示裝置的句柄(圖形內容)。
unnamedParam2
pData [in, out]
D3DDDIARG_CREATECRYPTOSESSION 結構的指標。 在輸入時,此結構包含驅動程式可以使用的資訊。 在輸出時,驅動程式會指定 Microsoft Direct3D 運行時間可以使用之 結構中的資訊。
傳回值
CreateCryptoSession 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 已成功建立密碼編譯會話。 |
E_OUTOFMEMORY | CreateCryptoSession 無法為其配置所需的記憶體來完成。 |
D3DDDIERR_NOTAVAILABLE | 驅動程式不支援在 D3DDDIARG_CREATECRYPTOSESSION 結構的 CryptoTypemember 中指定的 GUID,或在 CryptoTypemember 中指定NULL_GUID (所有零) 。 |
D3DDDIERR_UNSUPPORTEDCRYPTO | 驅動程式不支援指定譯碼類型的加密類型。 |
言論
如果 D3DDDIARG_CREATECRYPTOSESSION 結構的 DecodeProfile 成員是NULL_GUID,則密碼編譯會話將不會用於 DirectX 影片加速 (DirectX VA) 譯碼。 如果 DecodeProfile 未 NULL GUID,則譯碼配置檔不支援 CryptoType 成員中的密碼編譯類型,驅動程式應該會失敗並D3DDDIERR_UNSUPPORTEDCRYPTO。
驅動程式會傳回 hCryptoSession 中密碼編譯會話的句柄,D3DDDIARG_CREATECRYPTOSESSION 運行時間會傳入所有後續的加密會話呼叫中(例如,CryptoSessionKeyExchange)。
驅動程式必須追蹤用來建立加密會話的顯示裝置(hDevice)。 如果這些呼叫中指定的顯示裝置與用來建立密碼編譯會話的顯示裝置不同,驅動程式應該會失敗所有使用此建立密碼編譯會話的後續呼叫。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 7 開始支援。 |
目標平臺 | 桌面 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |