次の方法で共有


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

こちらもご覧ください

IDirect3DVolume9

IDirect3DVolume9::FreePrivateData

IDirect3DVolume9::GetPrivateData