IDirect3DVolume9::SetPrivateData メソッド (d3d9helper.h)
Direct3D ではなく、アプリケーションで使用することを目的としたボリュームにデータを関連付けます。
構文
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags
);
パラメーター
[in] refguid
型: REFGUID
設定するプライベート データを識別するグローバル一意識別子への参照。
[in] pData
型: const void*
ボリュームに関連付けるデータを含むバッファーへのポインター。
[in] SizeOfData
型: DWORD
pData でのバッファーのサイズ (バイト単位)。
[in] Flags
型: DWORD
渡されるデータの種類を表す値、またはリソースが変更されたときにデータを無効にする必要があることをアプリケーションに示す値。
Item | 説明 |
---|---|
(なし) | フラグが指定されていない場合、Direct3D はバッファー内のデータを保持するメモリを割り当て、データを新しいバッファーにコピーします。 Direct3D によって割り当てられたバッファーは、必要に応じて自動的に解放されます。 |
D3DSPD_IUNKNOWN | pData のデータは、 IUnknown インターフェイスへのポインターです。 SizeOfData は、 IUnknown インターフェイス sizeof(IUnknown *) へのポインターのサイズに設定する必要があります。 Direct3D は、プライベート データが破棄されるときに、pData と IUnknown を介して IUnknown を自動的に呼び出します。 プライベート データは、同じ GUID を持つ IDirect3DVolume9::SetPrivateData の後続の呼び出し、 IDirect3DVolume9::FreePrivateData の後続の呼び出し、または IDirect3D9 オブジェクトが解放されたときに破棄されます。 詳細については、「解説」を参照してください。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、E_OUTOFMEMORY。
注釈
Direct3D は pData でメモリを管理しません。 このバッファーが動的に割り当てられた場合は、呼び出し元のアプリケーションがメモリを解放する必要があります。
データは値渡しされ、複数のデータ セットを 1 つのボリュームに関連付けることができます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9helper.h (D3D9.h を含む) |
Library | D3D9.lib |