IDirect3DVolume8::SetPrivateData
Microsoft® Direct3D® ではなく、アプリケーションでの使用が意図されているボリュームとデータを関連付ける。
HRESULT SetPrivateData(
REFGUID refguid,
void* pData,
DWORD SizeOfData,
DWORD Flags
);
パラメータ
- refguid
- [in] 設定するプライベート データを識別するグローバル ユニーク識別子への参照 (C++) またはアドレス (C)。
- pData
- [in] ボリュームと関連付けるデータが格納されているバッファへのポインタ。
- SizeOfData
- [in] pData のバッファ サイズ (バイト単位)。
- Flags
- [in] 渡されるデータ型を記述する値、またはリソースが変更された場合にデータを無効にする必要があることをアプリケーションに示す値。
- (none)
- フラグを指定しない場合、Direct3D はバッファ内のデータを保持するメモリを割り当て、新しいバッファにデータをコピーする。Direct3D によって割り当てられるバッファは、適宜自動的に解放される。
- D3DSPD_IUNKNOWN
- pData のデータは IUnknown インターフェイスへのポインタである。SizeOfData は、IUnknown インターフェイス (sizeof(IUnknown*)) へのポインタのサイズに設定する必要がある。Direct3D は pData を介して IUnknown::AddRef を、プライベート データが破棄される場合は IUnknown::Release を自動的に呼び出す。次に同じ GUID で SetPrivateData を呼び出すと、または次に IDirect3DVolume8::FreePrivateData を呼び出すと、または Direct3D8 オブジェクトが解放されると、プライベート データは破棄される。詳細については、「注意」を参照すること。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
注意
Direct3D は pData でメモリを管理しない。このバッファが動的に割り当てられた場合は、呼び出し側の責任でメモリを解放する。
データは値で渡され、複数のデータ セットを単一のボリュームと関連付けることができる。
ヘッダー : d3d8.h で宣言。
インポート ライブラリ : D3d8.lib を使用。
参照
IDirect3DVolume8::FreePrivateData、IDirect3DVolume8::GetPrivateData