次の方法で共有


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

こちらもご覧ください

IDirectDrawSurface7