Método IDirectDrawSurface7::SetPrivateData (ddraw.h)

Asocia los datos a la superficie que está pensada para su uso por parte de la aplicación, no por DirectDraw. Los datos se pasan por valor y se pueden asociar varios conjuntos de datos a una sola superficie.

Sintaxis

HRESULT SetPrivateData(
  [in] REFGUID unnamedParam1,
  [in] LPVOID  unnamedParam2,
  [in] DWORD   unnamedParam3,
  [in] DWORD   unnamedParam4
);

Parámetros

[in] unnamedParam1

Referencia a (C++) o dirección de (C) el identificador único global que identifica los datos privados que se van a establecer.

[in] unnamedParam2

Puntero a un búfer que contiene los datos que se van a asociar a la superficie.

[in] unnamedParam3

Valor de tamaño del búfer en lpData, en bytes.

[in] unnamedParam4

Valor que se puede establecer en una de las marcas siguientes. Estas marcas describen el tipo de datos que se pasan o solicitan que los datos se invalidan cuando cambia la superficie.

(ninguno)

Si no se especifican marcas, DirectDraw asigna memoria para contener los datos dentro del búfer y copia los datos en el nuevo búfer. El búfer asignado por DirectDraw se libera automáticamente, según corresponda.

DDSPD_IUNKNOWNPOINTER

Los datos de lpData son un puntero a una interfaz IUnknown . DirectDraw llama automáticamente al método IUnknown::AddRef de esta interfaz. Cuando estos datos ya no son necesarios, DirectDraw llama automáticamente al método IUnknown::Release de esta interfaz.

DDSPD_VOLATILE

El búfer de lpData solo es válido mientras la superficie permanece sin cambios. Si cambia el contenido de la superficie, las llamadas posteriores al método IDirectDrawSurface7::GetPrivateData devuelven DDERR_EXPIRED.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto es DD_OK.

Si se produce un error, el método puede devolver uno de los siguientes valores de error:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_OUTOFMEMORY

Comentarios

DirectDraw no administra la memoria en lpData. Si este búfer se asignó dinámicamente, el autor de la llamada debe liberar la memoria.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll

Consulte también

IDirectDrawSurface7