IDirectDrawSurface7::SetPrivateData メソッド (ddraw.h)
DirectDraw ではなく、アプリケーションで使用することを目的としたサーフェスにデータを関連付けます。 データは値渡しされ、複数のデータ セットを 1 つのサーフェスに関連付けることができます。
構文
HRESULT SetPrivateData(
[in] REFGUID unnamedParam1,
[in] LPVOID unnamedParam2,
[in] DWORD unnamedParam3,
[in] DWORD unnamedParam4
);
パラメーター
[in] unnamedParam1
設定するプライベート データを識別するグローバル一意識別子の (C++) またはアドレス (C) への参照。
[in] unnamedParam2
サーフェスに関連付けるデータを含むバッファーへのポインター。
[in] unnamedParam3
lpData のバッファーのサイズ値 (バイト単位)。
[in] unnamedParam4
次のいずれかのフラグに設定できる値。 これらのフラグは、渡されるデータの種類を示すか、サーフェスが変更されたときにデータを無効にすることを要求します。
(なし)
フラグが指定されていない場合、DirectDraw はバッファー内のデータを保持するメモリを割り当て、データを新しいバッファーにコピーします。 DirectDraw によって割り当てられたバッファーは、必要に応じて自動的に解放されます。
DDSPD_IUNKNOWNPOINTER
lpData のデータは、IUnknown インターフェイスへのポインターです。 DirectDraw は、このインターフェイスの IUnknown::AddRef メソッドを自動的に呼び出します。 このデータが不要になると、DirectDraw は、このインターフェイスの IUnknown::Release メソッドを自動的に呼び出します。
DDSPD_VOLATILE
lpData のバッファーは、サーフェスが変更されていない間のみ有効です。 サーフェスの内容が変更された場合、 後続の IDirectDrawSurface7::GetPrivateData メソッドの呼び出しはDDERR_EXPIREDを返します。
戻り値
メソッドが成功した場合、戻り値はDD_OK。
失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_OUTOFMEMORY
注釈
DirectDraw は lpData でメモリを管理しません。 このバッファーが動的に割り当てられた場合、呼び出し元はメモリを解放する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | ddraw.h |
Library | Ddraw.lib |
[DLL] | Ddraw.dll |