Compartilhar via


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

Associa dados à superfície que se destina a ser usada pelo aplicativo, não pelo DirectDraw. Os dados são passados por valor e vários conjuntos de dados podem ser associados a uma única superfície.

Sintaxe

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

Parâmetros

[in] unnamedParam1

Referência a (C++) ou endereço de (C) o identificador global exclusivo que identifica os dados privados a serem definidos.

[in] unnamedParam2

Um ponteiro para um buffer que contém os dados a serem associados à superfície.

[in] unnamedParam3

O valor de tamanho do buffer em lpData, em bytes.

[in] unnamedParam4

Um valor que pode ser definido como um dos sinalizadores a seguir. Esses sinalizadores descrevem o tipo de dados que está sendo passado ou solicitam que os dados sejam invalidados quando a superfície for alterada.

(nenhum)

Se nenhum sinalizador for especificado, o DirectDraw alocará memória para manter os dados dentro do buffer e copiará os dados para o novo buffer. O buffer alocado pelo DirectDraw é liberado automaticamente, conforme apropriado.

DDSPD_IUNKNOWNPOINTER

Os dados em lpData são um ponteiro para uma interface IUnknown . O DirectDraw chama automaticamente o método IUnknown::AddRef dessa interface. Quando esses dados não são mais necessários, o DirectDraw chama automaticamente o método IUnknown::Release dessa interface.

DDSPD_VOLATILE

O buffer em lpData só é válido enquanto a superfície permanece inalterada. Se o conteúdo da superfície for alterado, as chamadas subsequentes para o método IDirectDrawSurface7::GetPrivateData retornarão DDERR_EXPIRED.

Retornar valor

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_OUTOFMEMORY

Comentários

O DirectDraw não gerencia a memória em lpData. Se esse buffer foi alocado dinamicamente, o chamador deverá liberar a memória.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDrawSurface7