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

ID3D11VideoDevice

COM
IID10ec4d5b-975a-4689-b9e4-d0aac30fe333継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT CreateVideoDecoder(D3D11_VIDEO_DECODER_DESC* pVideoDesc, D3D11_VIDEO_DECODER_CONFIG* pConfig, ID3D11VideoDecoder** ppDecoder)
pVideoDescD3D11_VIDEO_DECODER_DESC*in生成するデコーダのビデオ記述。
pConfigD3D11_VIDEO_DECODER_CONFIG*inデコーダ構成。
ppDecoderID3D11VideoDecoder**out生成されたデコーダを受け取る。
vtbl 4 HRESULT CreateVideoProcessor(ID3D11VideoProcessorEnumerator* pEnum, DWORD RateConversionIndex, ID3D11VideoProcessor** ppVideoProcessor)
pEnumID3D11VideoProcessorEnumerator*inプロセッサ生成に使う列挙子。
RateConversionIndexDWORDin使用するレート変換能力のインデックス。
ppVideoProcessorID3D11VideoProcessor**out生成されたビデオプロセッサを受け取る。
vtbl 5 HRESULT CreateAuthenticatedChannel(D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType, ID3D11AuthenticatedChannel** ppAuthenticatedChannel)
ChannelTypeD3D11_AUTHENTICATED_CHANNEL_TYPEin認証チャネルの種別(D3D11_AUTHENTICATED_CHANNEL_TYPE)。
ppAuthenticatedChannelID3D11AuthenticatedChannel**out生成された認証チャネルを受け取る。
vtbl 6 HRESULT CreateCryptoSession(GUID* pCryptoType, GUID* pDecoderProfile, GUID* pKeyExchangeType, ID3D11CryptoSession** ppCryptoSession)
pCryptoTypeGUID*in暗号化方式のGUID。
pDecoderProfileGUID*inoptionalデコーダプロファイルのGUID。NULL可。
pKeyExchangeTypeGUID*in鍵交換方式のGUID。
ppCryptoSessionID3D11CryptoSession**out生成された暗号セッションを受け取る。
vtbl 7 HRESULT CreateVideoDecoderOutputView(ID3D11Resource* pResource, D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* pDesc, ID3D11VideoDecoderOutputView** ppVDOVView)
pResourceID3D11Resource*in出力ビューの基となるリソース。
pDescD3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC*inデコーダ出力ビューの記述。
ppVDOVViewID3D11VideoDecoderOutputView**outoptional生成された出力ビューを受け取る。
vtbl 8 HRESULT CreateVideoProcessorInputView(ID3D11Resource* pResource, ID3D11VideoProcessorEnumerator* pEnum, D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* pDesc, ID3D11VideoProcessorInputView** ppVPIView)
pResourceID3D11Resource*in入力ビューの基となるリソース。
pEnumID3D11VideoProcessorEnumerator*in対応する列挙子。
pDescD3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC*in入力ビューの記述。
ppVPIViewID3D11VideoProcessorInputView**outoptional生成された入力ビューを受け取る。
vtbl 9 HRESULT CreateVideoProcessorOutputView(ID3D11Resource* pResource, ID3D11VideoProcessorEnumerator* pEnum, D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* pDesc, ID3D11VideoProcessorOutputView** ppVPOView)
pResourceID3D11Resource*in出力ビューの基となるリソース。
pEnumID3D11VideoProcessorEnumerator*in対応する列挙子。
pDescD3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC*in出力ビューの記述。
ppVPOViewID3D11VideoProcessorOutputView**outoptional生成された出力ビューを受け取る。
vtbl 10 HRESULT CreateVideoProcessorEnumerator(D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pDesc, ID3D11VideoProcessorEnumerator** ppEnum)
pDescD3D11_VIDEO_PROCESSOR_CONTENT_DESC*in処理するコンテンツの記述。
ppEnumID3D11VideoProcessorEnumerator**out生成された列挙子を受け取る。
vtbl 11 DWORD GetVideoDecoderProfileCount()
vtbl 12 HRESULT GetVideoDecoderProfile(DWORD Index, GUID* pDecoderProfile)
IndexDWORDinプロファイルのインデックス(0からプロファイル数-1)。
pDecoderProfileGUID*outデコーダプロファイルのGUIDを受け取る。
vtbl 13 HRESULT CheckVideoDecoderFormat(GUID* pDecoderProfile, DXGI_FORMAT Format, BOOL* pSupported)
pDecoderProfileGUID*in調べるデコーダプロファイルのGUID。
FormatDXGI_FORMATin対応可否を調べる形式(DXGI_FORMAT)。
pSupportedBOOL*outサポート有無を受け取る。
vtbl 14 HRESULT GetVideoDecoderConfigCount(D3D11_VIDEO_DECODER_DESC* pDesc, DWORD* pCount)
pDescD3D11_VIDEO_DECODER_DESC*in対象のデコーダ記述。
pCountDWORD*out利用可能な構成数を受け取る。
vtbl 15 HRESULT GetVideoDecoderConfig(D3D11_VIDEO_DECODER_DESC* pDesc, DWORD Index, D3D11_VIDEO_DECODER_CONFIG* pConfig)
pDescD3D11_VIDEO_DECODER_DESC*in対象のデコーダ記述。
IndexDWORDin構成のインデックス。
pConfigD3D11_VIDEO_DECODER_CONFIG*out指定インデックスの構成を受け取る。
vtbl 16 HRESULT GetContentProtectionCaps(GUID* pCryptoType, GUID* pDecoderProfile, D3D11_VIDEO_CONTENT_PROTECTION_CAPS* pCaps)
pCryptoTypeGUID*inoptional暗号化方式のGUID。NULL可。
pDecoderProfileGUID*inoptionalデコーダプロファイルのGUID。NULL可。
pCapsD3D11_VIDEO_CONTENT_PROTECTION_CAPS*outコンテンツ保護能力を受け取る。
vtbl 17 HRESULT CheckCryptoKeyExchange(GUID* pCryptoType, GUID* pDecoderProfile, DWORD Index, GUID* pKeyExchangeType)
pCryptoTypeGUID*in暗号化方式のGUID。
pDecoderProfileGUID*inoptionalデコーダプロファイルのGUID。NULL可。
IndexDWORDin鍵交換方式のインデックス。
pKeyExchangeTypeGUID*out対応する鍵交換方式のGUIDを受け取る。
vtbl 18 HRESULT SetPrivateData(GUID* guid, DWORD DataSize, void* pData)
guidGUID*inデータを識別するGUID。
DataSizeDWORDinpDataのバイトサイズ。
pDatavoid*inoptional関連付けるデータ。NULLで削除。
vtbl 19 HRESULT SetPrivateDataInterface(GUID* guid, IUnknown* pData)
guidGUID*inインターフェイスを識別するGUID。
pDataIUnknown*inoptional関連付けるCOMインターフェイス。NULL可。

HSP用 COM定義

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

出力引数:
#define global IID_ID3D11VideoDevice "{10EC4D5B-975A-4689-B9E4-D0AAC30FE333}"
#usecom global ID3D11VideoDevice IID_ID3D11VideoDevice "{}"
#comfunc global ID3D11VideoDevice_CreateVideoDecoder              3 var,var,sptr
#comfunc global ID3D11VideoDevice_CreateVideoProcessor            4 sptr,int,sptr
#comfunc global ID3D11VideoDevice_CreateAuthenticatedChannel      5 int,sptr
#comfunc global ID3D11VideoDevice_CreateCryptoSession             6 var,var,var,sptr
#comfunc global ID3D11VideoDevice_CreateVideoDecoderOutputView    7 sptr,var,sptr
#comfunc global ID3D11VideoDevice_CreateVideoProcessorInputView   8 sptr,sptr,var,sptr
#comfunc global ID3D11VideoDevice_CreateVideoProcessorOutputView  9 sptr,sptr,var,sptr
#comfunc global ID3D11VideoDevice_CreateVideoProcessorEnumerator  10 var,sptr
#comfunc global ID3D11VideoDevice_GetVideoDecoderProfileCount     11
#comfunc global ID3D11VideoDevice_GetVideoDecoderProfile          12 int,var
#comfunc global ID3D11VideoDevice_CheckVideoDecoderFormat         13 var,int,var
#comfunc global ID3D11VideoDevice_GetVideoDecoderConfigCount      14 var,var
#comfunc global ID3D11VideoDevice_GetVideoDecoderConfig           15 var,int,var
#comfunc global ID3D11VideoDevice_GetContentProtectionCaps        16 var,var,var
#comfunc global ID3D11VideoDevice_CheckCryptoKeyExchange          17 var,var,int,var
#comfunc global ID3D11VideoDevice_SetPrivateData                  18 var,int,sptr
#comfunc global ID3D11VideoDevice_SetPrivateDataInterface         19 var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。