ID3D11DeviceContext3
COM公式ドキュメント
デバイスコンテキストインターフェイスはデバイスコンテキストを表し、レンダリングコマンドの発行に使用します。ID3D11DeviceContext3 は ID3D11DeviceContext2 のメソッドに新しいメソッドを追加します。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
コマンドバッファーにキューイングされたコマンドを、指定したコンテキストの種類と、イベントクエリを作成するための省略可能なイベントハンドルを伴って、グラフィックスプロセッシングユニット (GPU) に送信します。
| ContextType | D3D11_CONTEXT_TYPE | in | クエリが発生するコンテキスト (3D コマンドキュー、3D コンピュートキュー、3D コピーキュー、ビデオ、イメージなど) を指定する D3D11_CONTEXT_TYPE です。 |
| hEvent | HANDLE | inoptional | 省略可能なイベントハンドルです。指定した場合、このメソッドはイベントクエリを作成します。 Flush1 は非同期に動作するため、キューイングされたグラフィックスコマンドの GPU による実行が完了する前に戻ることも、完了した後に戻ることもあります (実行は最終的には完了します)。 イベントクエリを作成するには、ID3D11Device::CreateQuery を D3D11_QUERY_EVENT の値を指定して呼び出します。 GPU がグラフィックスコマンドの処理を完了したタイミングを判断するには、そのイベントクエリを ID3D11DeviceContext::GetData の呼び出しで使用します。 |
解説(Remarks)
Flush1 にはパラメーターがあります。 詳細については、パラメーターを持たない ID3D11DeviceContext::Flush を参照してください。
ハードウェア保護の状態を設定します。
| HwProtectionEnable | BOOL | in | ハードウェア保護を有効にするかどうかを指定します。 |
ハードウェア保護が有効かどうかを取得します。
| pHwProtectionEnable | BOOL* | out | このメソッドが戻った後、ハードウェア保護が有効かどうかを示す BOOL を指します。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D11DeviceContext3 "{B4E3C01D-E79E-4637-91B2-510E9F4C9B8F}" #usecom global ID3D11DeviceContext3 IID_ID3D11DeviceContext3 "{}" #comfunc global ID3D11DeviceContext3_Flush1 144 int,sptr #comfunc global ID3D11DeviceContext3_SetHardwareProtectionState 145 int #comfunc global ID3D11DeviceContext3_GetHardwareProtectionState 146 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D11DeviceContext3 "{B4E3C01D-E79E-4637-91B2-510E9F4C9B8F}" #usecom global ID3D11DeviceContext3 IID_ID3D11DeviceContext3 "{}" #comfunc global ID3D11DeviceContext3_Flush1 144 int,sptr #comfunc global ID3D11DeviceContext3_SetHardwareProtectionState 145 int #comfunc global ID3D11DeviceContext3_GetHardwareProtectionState 146 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。