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

ID2D1VertexBuffer

COM
IID9b8b1336-00a5-4668-92b7-ced5d8bf9b7b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

マップ可能な1次元の頂点バッファを定義します。

メソッド 2

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

vtbl 3 HRESULT Map(BYTE** data, DWORD bufferSize)

指定されたデータをユーザーメモリにマップします。

dataBYTE**outこのメソッドが返るとき、利用可能なバッファへのポインターのアドレスが格納されます。
bufferSizeDWORDin必要とするバッファのサイズ。

戻り値

Type: HRESULT

このメソッドは HRESULT を返します。取り得る値には、以下の表に示すものが含まれますが、これらに限定されません。

HRESULT 説明
S_OK エラーは発生しませんでした。
E_INVALIDARG 戻り値を返す関数に無効なパラメーターが渡されました。
D3DERR_DEVICELOST デバイスが失われましたが、現時点ではリセットできません。

解説(Remarks)

databufferSize より大きい場合、このメソッドは失敗します。

vtbl 4 HRESULT Unmap()

頂点バッファのマップを解除します。

戻り値

Type: HRESULT

このメソッドは HRESULT を返します。取り得る値には、以下の表に示すものが含まれますが、これらに限定されません。

HRESULT 説明
S_OK エラーは発生しませんでした。
D2DERR_WRONG_STATE オブジェクトがメソッドを処理するための正しい状態ではありませんでした。

解説(Remarks)

このメソッドが返った後、頂点バッファからマップされたメモリにはエフェクトからアクセスできなくなります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ID2D1VertexBuffer "{9B8B1336-00A5-4668-92B7-CED5D8BF9B7B}"
#usecom global ID2D1VertexBuffer IID_ID2D1VertexBuffer "{}"
#comfunc global ID2D1VertexBuffer_Map    3 var,int
#comfunc global ID2D1VertexBuffer_Unmap  4
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。