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

ID3D11Device

COM
IIDdb6f6ddb-ac77-4e88-8253-819df9bbf140継承元IUnknown自前メソッド開始 vtbl3

メソッド 40

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

vtbl 3 HRESULT CreateBuffer(D3D11_BUFFER_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Buffer** ppBuffer)
pDescD3D11_BUFFER_DESC*in生成するバッファの記述。
pInitialDataD3D11_SUBRESOURCE_DATA*inoptional初期化データ。NULL可。
ppBufferID3D11Buffer**outoptional生成されたバッファを受け取る。NULLで作成可否確認。
vtbl 4 HRESULT CreateTexture1D(D3D11_TEXTURE1D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture1D** ppTexture1D)
pDescD3D11_TEXTURE1D_DESC*in生成する1Dテクスチャの記述。
pInitialDataD3D11_SUBRESOURCE_DATA*inoptional初期化データ配列。NULL可。
ppTexture1DID3D11Texture1D**outoptional生成されたテクスチャを受け取る。
vtbl 5 HRESULT CreateTexture2D(D3D11_TEXTURE2D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture2D** ppTexture2D)
pDescD3D11_TEXTURE2D_DESC*in生成する2Dテクスチャの記述。
pInitialDataD3D11_SUBRESOURCE_DATA*inoptional初期化データ配列。NULL可。
ppTexture2DID3D11Texture2D**outoptional生成されたテクスチャを受け取る。
vtbl 6 HRESULT CreateTexture3D(D3D11_TEXTURE3D_DESC* pDesc, D3D11_SUBRESOURCE_DATA* pInitialData, ID3D11Texture3D** ppTexture3D)
pDescD3D11_TEXTURE3D_DESC*in生成する3Dテクスチャの記述。
pInitialDataD3D11_SUBRESOURCE_DATA*inoptional初期化データ配列。NULL可。
ppTexture3DID3D11Texture3D**outoptional生成されたテクスチャを受け取る。
vtbl 7 HRESULT CreateShaderResourceView(ID3D11Resource* pResource, D3D11_SHADER_RESOURCE_VIEW_DESC* pDesc, ID3D11ShaderResourceView** ppSRView)
pResourceID3D11Resource*inビューの基となるリソース。
pDescD3D11_SHADER_RESOURCE_VIEW_DESC*inoptionalSRVの記述。NULLで既定ビュー。
ppSRViewID3D11ShaderResourceView**outoptional生成されたSRVを受け取る。
vtbl 8 HRESULT CreateUnorderedAccessView(ID3D11Resource* pResource, D3D11_UNORDERED_ACCESS_VIEW_DESC* pDesc, ID3D11UnorderedAccessView** ppUAView)
pResourceID3D11Resource*inビューの基となるリソース。
pDescD3D11_UNORDERED_ACCESS_VIEW_DESC*inoptionalUAVの記述。NULLで既定ビュー。
ppUAViewID3D11UnorderedAccessView**outoptional生成されたUAVを受け取る。
vtbl 9 HRESULT CreateRenderTargetView(ID3D11Resource* pResource, D3D11_RENDER_TARGET_VIEW_DESC* pDesc, ID3D11RenderTargetView** ppRTView)
pResourceID3D11Resource*inビューの基となるリソース。
pDescD3D11_RENDER_TARGET_VIEW_DESC*inoptionalRTVの記述。NULLで既定ビュー。
ppRTViewID3D11RenderTargetView**outoptional生成されたRTVを受け取る。
vtbl 10 HRESULT CreateDepthStencilView(ID3D11Resource* pResource, D3D11_DEPTH_STENCIL_VIEW_DESC* pDesc, ID3D11DepthStencilView** ppDepthStencilView)
pResourceID3D11Resource*inビューの基となるリソース。
pDescD3D11_DEPTH_STENCIL_VIEW_DESC*inoptional深度ステンシルビューの記述。NULLで既定。
ppDepthStencilViewID3D11DepthStencilView**outoptional生成されたDSVを受け取る。
vtbl 11 HRESULT CreateInputLayout(D3D11_INPUT_ELEMENT_DESC* pInputElementDescs, DWORD NumElements, void* pShaderBytecodeWithInputSignature, UINT_PTR BytecodeLength, ID3D11InputLayout** ppInputLayout)
pInputElementDescsD3D11_INPUT_ELEMENT_DESC*in入力要素記述の配列。
NumElementsDWORDin入力要素の数。
pShaderBytecodeWithInputSignaturevoid*in入力署名を含む頂点シェーダのバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
ppInputLayoutID3D11InputLayout**outoptional生成された入力レイアウトを受け取る。
vtbl 12 HRESULT CreateVertexShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11VertexShader** ppVertexShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppVertexShaderID3D11VertexShader**outoptional生成された頂点シェーダを受け取る。
vtbl 13 HRESULT CreateGeometryShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppGeometryShaderID3D11GeometryShader**outoptional生成されたジオメトリシェーダを受け取る。
vtbl 14 HRESULT CreateGeometryShaderWithStreamOutput(void* pShaderBytecode, UINT_PTR BytecodeLength, D3D11_SO_DECLARATION_ENTRY* pSODeclaration, DWORD NumEntries, DWORD* pBufferStrides, DWORD NumStrides, DWORD RasterizedStream, ID3D11ClassLinkage* pClassLinkage, ID3D11GeometryShader** ppGeometryShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pSODeclarationD3D11_SO_DECLARATION_ENTRY*inoptionalストリーム出力宣言エントリ配列。
NumEntriesDWORDin宣言エントリの数。
pBufferStridesDWORD*inoptional各SOバッファのストライド配列。
NumStridesDWORDinストライドの数。
RasterizedStreamDWORDinラスタライズするストリーム番号(無効化は専用定数)。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppGeometryShaderID3D11GeometryShader**outoptional生成されたシェーダを受け取る。
vtbl 15 HRESULT CreatePixelShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11PixelShader** ppPixelShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppPixelShaderID3D11PixelShader**outoptional生成されたピクセルシェーダを受け取る。
vtbl 16 HRESULT CreateHullShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11HullShader** ppHullShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppHullShaderID3D11HullShader**outoptional生成されたハルシェーダを受け取る。
vtbl 17 HRESULT CreateDomainShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11DomainShader** ppDomainShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppDomainShaderID3D11DomainShader**outoptional生成されたドメインシェーダを受け取る。
vtbl 18 HRESULT CreateComputeShader(void* pShaderBytecode, UINT_PTR BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11ComputeShader** ppComputeShader)
pShaderBytecodevoid*inコンパイル済みシェーダバイトコード。
BytecodeLengthUINT_PTRinバイトコードのバイト長。
pClassLinkageID3D11ClassLinkage*inoptionalクラスリンケージ。NULL可。
ppComputeShaderID3D11ComputeShader**outoptional生成されたコンピュートシェーダを受け取る。
vtbl 19 HRESULT CreateClassLinkage(ID3D11ClassLinkage** ppLinkage)
ppLinkageID3D11ClassLinkage**out生成されたクラスリンケージを受け取る。
vtbl 20 HRESULT CreateBlendState(D3D11_BLEND_DESC* pBlendStateDesc, ID3D11BlendState** ppBlendState)
pBlendStateDescD3D11_BLEND_DESC*inブレンドステートの記述。
ppBlendStateID3D11BlendState**outoptional生成されたブレンドステートを受け取る。
vtbl 21 HRESULT CreateDepthStencilState(D3D11_DEPTH_STENCIL_DESC* pDepthStencilDesc, ID3D11DepthStencilState** ppDepthStencilState)
pDepthStencilDescD3D11_DEPTH_STENCIL_DESC*in深度ステンシルステートの記述。
ppDepthStencilStateID3D11DepthStencilState**outoptional生成されたステートを受け取る。
vtbl 22 HRESULT CreateRasterizerState(D3D11_RASTERIZER_DESC* pRasterizerDesc, ID3D11RasterizerState** ppRasterizerState)
pRasterizerDescD3D11_RASTERIZER_DESC*inラスタライザステートの記述。
ppRasterizerStateID3D11RasterizerState**outoptional生成されたステートを受け取る。
vtbl 23 HRESULT CreateSamplerState(D3D11_SAMPLER_DESC* pSamplerDesc, ID3D11SamplerState** ppSamplerState)
pSamplerDescD3D11_SAMPLER_DESC*inサンプラステートの記述。
ppSamplerStateID3D11SamplerState**outoptional生成されたサンプラステートを受け取る。
vtbl 24 HRESULT CreateQuery(D3D11_QUERY_DESC* pQueryDesc, ID3D11Query** ppQuery)
pQueryDescD3D11_QUERY_DESC*inクエリの記述。
ppQueryID3D11Query**outoptional生成されたクエリを受け取る。NULLで作成可否確認。
vtbl 25 HRESULT CreatePredicate(D3D11_QUERY_DESC* pPredicateDesc, ID3D11Predicate** ppPredicate)
pPredicateDescD3D11_QUERY_DESC*inプレディケートの記述。
ppPredicateID3D11Predicate**outoptional生成されたプレディケートを受け取る。
vtbl 26 HRESULT CreateCounter(D3D11_COUNTER_DESC* pCounterDesc, ID3D11Counter** ppCounter)
pCounterDescD3D11_COUNTER_DESC*inカウンタの記述。
ppCounterID3D11Counter**outoptional生成されたカウンタを受け取る。
vtbl 27 HRESULT CreateDeferredContext(DWORD ContextFlags, ID3D11DeviceContext** ppDeferredContext)
ContextFlagsDWORDin予約フラグ。0を指定する。
ppDeferredContextID3D11DeviceContext**outoptional生成された遅延コンテキストを受け取る。
vtbl 28 HRESULT OpenSharedResource(HANDLE hResource, GUID* ReturnedInterface, void** ppResource)
hResourceHANDLEin共有リソースのハンドル。
ReturnedInterfaceGUID*in取得するインターフェイスのGUID。
ppResourcevoid**outoptional開いたリソースインターフェイスを受け取る。
vtbl 29 HRESULT CheckFormatSupport(DXGI_FORMAT Format, DWORD* pFormatSupport)
FormatDXGI_FORMATin調べる形式(DXGI_FORMAT)。
pFormatSupportDWORD*outサポート用途を示すフラグを受け取る。
vtbl 30 HRESULT CheckMultisampleQualityLevels(DXGI_FORMAT Format, DWORD SampleCount, DWORD* pNumQualityLevels)
FormatDXGI_FORMATin調べる形式。
SampleCountDWORDinサンプル数。
pNumQualityLevelsDWORD*out利用可能な品質レベル数を受け取る。
vtbl 31 void CheckCounterInfo(D3D11_COUNTER_INFO* pCounterInfo)
pCounterInfoD3D11_COUNTER_INFO*outカウンタ全体の情報を受け取る。
vtbl 32 HRESULT CheckCounter(D3D11_COUNTER_DESC* pDesc, D3D11_COUNTER_TYPE* pType, DWORD* pActiveCounters, LPSTR szName, DWORD* pNameLength, LPSTR szUnits, DWORD* pUnitsLength, LPSTR szDescription, DWORD* pDescriptionLength)
pDescD3D11_COUNTER_DESC*in調べるカウンタの記述。
pTypeD3D11_COUNTER_TYPE*outカウンタのデータ型を受け取る。
pActiveCountersDWORD*out同時にアクティブにできるカウンタ数を受け取る。
szNameLPSTRoutoptionalカウンタ名を受け取るバッファ。NULLで長さ取得。
pNameLengthDWORD*inoutoptional名前バッファ長(入出力)。
szUnitsLPSTRoutoptional単位文字列を受け取るバッファ。NULLで長さ取得。
pUnitsLengthDWORD*inoutoptional単位バッファ長(入出力)。
szDescriptionLPSTRoutoptional説明を受け取るバッファ。NULLで長さ取得。
pDescriptionLengthDWORD*inoutoptional説明バッファ長(入出力)。
vtbl 33 HRESULT CheckFeatureSupport(D3D11_FEATURE Feature, void* pFeatureSupportData, DWORD FeatureSupportDataSize)
FeatureD3D11_FEATUREin調べる機能(D3D11_FEATURE)。
pFeatureSupportDatavoid*out機能情報を受け取る構造体。
FeatureSupportDataSizeDWORDin構造体のバイトサイズ。
vtbl 34 HRESULT GetPrivateData(GUID* guid, DWORD* pDataSize, void* pData)
guidGUID*inデータを識別するGUID。
pDataSizeDWORD*inoutバッファサイズ(入出力)。
pDatavoid*outoptionalデータを受け取るバッファ。NULLでサイズ取得。
vtbl 35 HRESULT SetPrivateData(GUID* guid, DWORD DataSize, void* pData)
guidGUID*inデータを識別するGUID。
DataSizeDWORDinpDataのバイトサイズ。
pDatavoid*inoptional関連付けるデータ。NULLで削除。
vtbl 36 HRESULT SetPrivateDataInterface(GUID* guid, IUnknown* pData)
guidGUID*inインターフェイスを識別するGUID。
pDataIUnknown*inoptional関連付けるCOMインターフェイス。NULL可。
vtbl 37 D3D_FEATURE_LEVEL GetFeatureLevel()
vtbl 38 DWORD GetCreationFlags()
vtbl 39 HRESULT GetDeviceRemovedReason()
vtbl 40 void GetImmediateContext(ID3D11DeviceContext** ppImmediateContext)
ppImmediateContextID3D11DeviceContext**out即時実行コンテキストを受け取る。参照カウント増。
vtbl 41 HRESULT SetExceptionMode(DWORD RaiseFlags)
RaiseFlagsDWORDin例外発生条件を示すフラグ(D3D11_RAISE_FLAG)。
vtbl 42 DWORD GetExceptionMode()

HSP用 COM定義

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

出力引数:
#define global IID_ID3D11Device "{DB6F6DDB-AC77-4E88-8253-819DF9BBF140}"
#usecom global ID3D11Device IID_ID3D11Device "{}"
#comfunc global ID3D11Device_CreateBuffer                          3 var,var,sptr
#comfunc global ID3D11Device_CreateTexture1D                       4 var,var,sptr
#comfunc global ID3D11Device_CreateTexture2D                       5 var,var,sptr
#comfunc global ID3D11Device_CreateTexture3D                       6 var,var,sptr
#comfunc global ID3D11Device_CreateShaderResourceView              7 sptr,var,sptr
#comfunc global ID3D11Device_CreateUnorderedAccessView             8 sptr,var,sptr
#comfunc global ID3D11Device_CreateRenderTargetView                9 sptr,var,sptr
#comfunc global ID3D11Device_CreateDepthStencilView                10 sptr,var,sptr
#comfunc global ID3D11Device_CreateInputLayout                     11 var,int,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateVertexShader                    12 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateGeometryShader                  13 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateGeometryShaderWithStreamOutput  14 sptr,sptr,var,int,var,int,int,sptr,sptr
#comfunc global ID3D11Device_CreatePixelShader                     15 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateHullShader                      16 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateDomainShader                    17 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateComputeShader                   18 sptr,sptr,sptr,sptr
#comfunc global ID3D11Device_CreateClassLinkage                    19 sptr
#comfunc global ID3D11Device_CreateBlendState                      20 var,sptr
#comfunc global ID3D11Device_CreateDepthStencilState               21 var,sptr
#comfunc global ID3D11Device_CreateRasterizerState                 22 var,sptr
#comfunc global ID3D11Device_CreateSamplerState                    23 var,sptr
#comfunc global ID3D11Device_CreateQuery                           24 var,sptr
#comfunc global ID3D11Device_CreatePredicate                       25 var,sptr
#comfunc global ID3D11Device_CreateCounter                         26 var,sptr
#comfunc global ID3D11Device_CreateDeferredContext                 27 int,sptr
#comfunc global ID3D11Device_OpenSharedResource                    28 sptr,var,sptr
#comfunc global ID3D11Device_CheckFormatSupport                    29 int,var
#comfunc global ID3D11Device_CheckMultisampleQualityLevels         30 int,int,var
#comfunc global ID3D11Device_CheckCounterInfo                      31 var
#comfunc global ID3D11Device_CheckCounter                          32 var,var,var,var,var,var,var,var,var
#comfunc global ID3D11Device_CheckFeatureSupport                   33 int,sptr,int
#comfunc global ID3D11Device_GetPrivateData                        34 var,var,sptr
#comfunc global ID3D11Device_SetPrivateData                        35 var,int,sptr
#comfunc global ID3D11Device_SetPrivateDataInterface               36 var,sptr
#comfunc global ID3D11Device_GetFeatureLevel                       37
#comfunc global ID3D11Device_GetCreationFlags                      38
#comfunc global ID3D11Device_GetDeviceRemovedReason                39
#comfunc global ID3D11Device_GetImmediateContext                   40 sptr
#comfunc global ID3D11Device_SetExceptionMode                      41 int
#comfunc global ID3D11Device_GetExceptionMode                      42
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。