ホーム › Graphics.Direct3D11 › ID3D11VideoDevice
ID3D11VideoDevice
COMメソッド 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)
| pVideoDesc | D3D11_VIDEO_DECODER_DESC* | in | 生成するデコーダのビデオ記述。 |
| pConfig | D3D11_VIDEO_DECODER_CONFIG* | in | デコーダ構成。 |
| ppDecoder | ID3D11VideoDecoder** | out | 生成されたデコーダを受け取る。 |
vtbl 4 HRESULT CreateVideoProcessor(ID3D11VideoProcessorEnumerator* pEnum, DWORD RateConversionIndex, ID3D11VideoProcessor** ppVideoProcessor)
| pEnum | ID3D11VideoProcessorEnumerator* | in | プロセッサ生成に使う列挙子。 |
| RateConversionIndex | DWORD | in | 使用するレート変換能力のインデックス。 |
| ppVideoProcessor | ID3D11VideoProcessor** | out | 生成されたビデオプロセッサを受け取る。 |
vtbl 5 HRESULT CreateAuthenticatedChannel(D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType, ID3D11AuthenticatedChannel** ppAuthenticatedChannel)
| ChannelType | D3D11_AUTHENTICATED_CHANNEL_TYPE | in | 認証チャネルの種別(D3D11_AUTHENTICATED_CHANNEL_TYPE)。 |
| ppAuthenticatedChannel | ID3D11AuthenticatedChannel** | out | 生成された認証チャネルを受け取る。 |
vtbl 6 HRESULT CreateCryptoSession(GUID* pCryptoType, GUID* pDecoderProfile, GUID* pKeyExchangeType, ID3D11CryptoSession** ppCryptoSession)
| pCryptoType | GUID* | in | 暗号化方式のGUID。 |
| pDecoderProfile | GUID* | inoptional | デコーダプロファイルのGUID。NULL可。 |
| pKeyExchangeType | GUID* | in | 鍵交換方式のGUID。 |
| ppCryptoSession | ID3D11CryptoSession** | out | 生成された暗号セッションを受け取る。 |
vtbl 7 HRESULT CreateVideoDecoderOutputView(ID3D11Resource* pResource, D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* pDesc, ID3D11VideoDecoderOutputView** ppVDOVView)
| pResource | ID3D11Resource* | in | 出力ビューの基となるリソース。 |
| pDesc | D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC* | in | デコーダ出力ビューの記述。 |
| ppVDOVView | ID3D11VideoDecoderOutputView** | outoptional | 生成された出力ビューを受け取る。 |
vtbl 8 HRESULT CreateVideoProcessorInputView(ID3D11Resource* pResource, ID3D11VideoProcessorEnumerator* pEnum, D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* pDesc, ID3D11VideoProcessorInputView** ppVPIView)
| pResource | ID3D11Resource* | in | 入力ビューの基となるリソース。 |
| pEnum | ID3D11VideoProcessorEnumerator* | in | 対応する列挙子。 |
| pDesc | D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC* | in | 入力ビューの記述。 |
| ppVPIView | ID3D11VideoProcessorInputView** | outoptional | 生成された入力ビューを受け取る。 |
vtbl 9 HRESULT CreateVideoProcessorOutputView(ID3D11Resource* pResource, ID3D11VideoProcessorEnumerator* pEnum, D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* pDesc, ID3D11VideoProcessorOutputView** ppVPOView)
| pResource | ID3D11Resource* | in | 出力ビューの基となるリソース。 |
| pEnum | ID3D11VideoProcessorEnumerator* | in | 対応する列挙子。 |
| pDesc | D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC* | in | 出力ビューの記述。 |
| ppVPOView | ID3D11VideoProcessorOutputView** | outoptional | 生成された出力ビューを受け取る。 |
vtbl 10 HRESULT CreateVideoProcessorEnumerator(D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pDesc, ID3D11VideoProcessorEnumerator** ppEnum)
| pDesc | D3D11_VIDEO_PROCESSOR_CONTENT_DESC* | in | 処理するコンテンツの記述。 |
| ppEnum | ID3D11VideoProcessorEnumerator** | out | 生成された列挙子を受け取る。 |
vtbl 11 DWORD GetVideoDecoderProfileCount()
| Index | DWORD | in | プロファイルのインデックス(0からプロファイル数-1)。 |
| pDecoderProfile | GUID* | out | デコーダプロファイルのGUIDを受け取る。 |
vtbl 13 HRESULT CheckVideoDecoderFormat(GUID* pDecoderProfile, DXGI_FORMAT Format, BOOL* pSupported)
| pDecoderProfile | GUID* | in | 調べるデコーダプロファイルのGUID。 |
| Format | DXGI_FORMAT | in | 対応可否を調べる形式(DXGI_FORMAT)。 |
| pSupported | BOOL* | out | サポート有無を受け取る。 |
vtbl 14 HRESULT GetVideoDecoderConfigCount(D3D11_VIDEO_DECODER_DESC* pDesc, DWORD* pCount)
| pDesc | D3D11_VIDEO_DECODER_DESC* | in | 対象のデコーダ記述。 |
| pCount | DWORD* | out | 利用可能な構成数を受け取る。 |
vtbl 15 HRESULT GetVideoDecoderConfig(D3D11_VIDEO_DECODER_DESC* pDesc, DWORD Index, D3D11_VIDEO_DECODER_CONFIG* pConfig)
| pDesc | D3D11_VIDEO_DECODER_DESC* | in | 対象のデコーダ記述。 |
| Index | DWORD | in | 構成のインデックス。 |
| pConfig | D3D11_VIDEO_DECODER_CONFIG* | out | 指定インデックスの構成を受け取る。 |
vtbl 16 HRESULT GetContentProtectionCaps(GUID* pCryptoType, GUID* pDecoderProfile, D3D11_VIDEO_CONTENT_PROTECTION_CAPS* pCaps)
| pCryptoType | GUID* | inoptional | 暗号化方式のGUID。NULL可。 |
| pDecoderProfile | GUID* | inoptional | デコーダプロファイルのGUID。NULL可。 |
| pCaps | D3D11_VIDEO_CONTENT_PROTECTION_CAPS* | out | コンテンツ保護能力を受け取る。 |
vtbl 17 HRESULT CheckCryptoKeyExchange(GUID* pCryptoType, GUID* pDecoderProfile, DWORD Index, GUID* pKeyExchangeType)
| pCryptoType | GUID* | in | 暗号化方式のGUID。 |
| pDecoderProfile | GUID* | inoptional | デコーダプロファイルのGUID。NULL可。 |
| Index | DWORD | in | 鍵交換方式のインデックス。 |
| pKeyExchangeType | GUID* | out | 対応する鍵交換方式のGUIDを受け取る。 |
| guid | GUID* | in | データを識別するGUID。 |
| DataSize | DWORD | in | pDataのバイトサイズ。 |
| pData | void* | inoptional | 関連付けるデータ。NULLで削除。 |
| guid | GUID* | in | インターフェイスを識別するGUID。 |
| pData | IUnknown* | 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 指定が可能。#define global IID_ID3D11VideoDevice "{10EC4D5B-975A-4689-B9E4-D0AAC30FE333}" #usecom global ID3D11VideoDevice IID_ID3D11VideoDevice "{}" #comfunc global ID3D11VideoDevice_CreateVideoDecoder 3 sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CreateVideoProcessor 4 sptr,int,sptr #comfunc global ID3D11VideoDevice_CreateAuthenticatedChannel 5 int,sptr #comfunc global ID3D11VideoDevice_CreateCryptoSession 6 sptr,sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CreateVideoDecoderOutputView 7 sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CreateVideoProcessorInputView 8 sptr,sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CreateVideoProcessorOutputView 9 sptr,sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CreateVideoProcessorEnumerator 10 sptr,sptr #comfunc global ID3D11VideoDevice_GetVideoDecoderProfileCount 11 #comfunc global ID3D11VideoDevice_GetVideoDecoderProfile 12 int,sptr #comfunc global ID3D11VideoDevice_CheckVideoDecoderFormat 13 sptr,int,sptr #comfunc global ID3D11VideoDevice_GetVideoDecoderConfigCount 14 sptr,sptr #comfunc global ID3D11VideoDevice_GetVideoDecoderConfig 15 sptr,int,sptr #comfunc global ID3D11VideoDevice_GetContentProtectionCaps 16 sptr,sptr,sptr #comfunc global ID3D11VideoDevice_CheckCryptoKeyExchange 17 sptr,sptr,int,sptr #comfunc global ID3D11VideoDevice_SetPrivateData 18 sptr,int,sptr #comfunc global ID3D11VideoDevice_SetPrivateDataInterface 19 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。