Win32 API 日本語リファレンス
ホームGraphics.Direct3D11 › ID3D11VideoDevice2

ID3D11VideoDevice2

COM
IID59c0cb01-35f0-4a70-8f67-87905c906a53継承元ID3D11VideoDevice1自前メソッド開始 vtbl24

公式ドキュメント

Microsoft Direct3D 11 デバイスのビデオデコードおよびビデオ処理の機能を提供します。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 24 HRESULT CheckFeatureSupport(D3D11_FEATURE_VIDEO Feature, void* pFeatureSupportData, DWORD FeatureSupportDataSize)

現在のビデオドライバーがサポートする機能に関する情報を取得します。(ID3D11VideoDevice2::CheckFeatureSupport)

FeatureD3D11_FEATURE_VIDEOinサポート状況を照会する機能を指定する D3D11_FEATURE_VIDEO 列挙体のメンバーです。
pFeatureSupportDatavoid*outサポート状況を照会する機能の構成の詳細を記述したデータを格納する構造体です。呼び出しが完了すると、利用可能なサポートレベルの詳細が格納されます。各種の機能サポート要求に対応する構造体については、D3D11_FEATURE_VIDEO のフィールドの説明を参照してください。
FeatureSupportDataSizeDWORDinpFeatureSupportData パラメーターに渡す構造体のサイズです。

戻り値

成功した場合は S_OK を返します。それ以外の場合、pFeatureSupportData パラメーターにサポートされていないデータ型が渡されたとき、または FeatureSupportDataSize パラメーターのサイズの不一致が検出されたときは E_INVALIDARG を返します。

vtbl 25 HRESULT NegotiateCryptoSessionKeyExchangeMT(ID3D11CryptoSession* pCryptoSession, D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS flags, DWORD DataSize, void* pData)

ID3D11VideoContext::NegotiateCryptoSessionKeyExchange が非同期に呼び出された場合に期待どおりに動作することを検証します。

pCryptoSessionID3D11CryptoSession*in暗号セッションの ID3D11CryptoSession インターフェイスへのポインターです。
flagsD3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGSinフラグです。
DataSizeDWORDinpData バイト配列のサイズ (バイト単位) です。
pDatavoid*inout暗号化されたセッションキーを格納するバイト配列へのポインターです。

戻り値

型: HRESULT

関数が成功した場合は S_OK を返します。失敗した場合は HRESULTエラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_ID3D11VideoDevice2 "{59C0CB01-35F0-4A70-8F67-87905C906A53}"
#usecom global ID3D11VideoDevice2 IID_ID3D11VideoDevice2 "{}"
#comfunc global ID3D11VideoDevice2_CheckFeatureSupport                  24 int,sptr,int
#comfunc global ID3D11VideoDevice2_NegotiateCryptoSessionKeyExchangeMT  25 sptr,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。