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 |