Metodo IDirectDrawSurface7::SetPrivateData (ddraw.h)
Associa i dati alla superficie destinata all'uso dell'applicazione, non da DirectDraw. I dati vengono passati per valore e a una singola superficie possono essere associati più set di dati.
Sintassi
HRESULT SetPrivateData(
[in] REFGUID unnamedParam1,
[in] LPVOID unnamedParam2,
[in] DWORD unnamedParam3,
[in] DWORD unnamedParam4
);
Parametri
[in] unnamedParam1
Riferimento a (C++) o indirizzo di (C) l'identificatore univoco globale che identifica i dati privati da impostare.
[in] unnamedParam2
Puntatore a un buffer che contiene i dati da associare alla superficie.
[in] unnamedParam3
Valore di dimensione del buffer in byte lpData.
[in] unnamedParam4
Valore che può essere impostato su uno dei flag seguenti. Questi flag descrivono il tipo di dati che vengono passati o richiedono che i dati vengano invalidati quando la superficie cambia.
(nessuna)
Se non vengono specificati flag, DirectDraw alloca la memoria per contenere i dati all'interno del buffer e copia i dati nel nuovo buffer. Il buffer allocato da DirectDraw viene liberato automaticamente, a seconda delle esigenze.
DDSPD_IUNKNOWNPOINTER
I dati in lpData sono un puntatore a un'interfaccia IUnknown . DirectDraw chiama automaticamente il metodo IUnknown::AddRef di questa interfaccia. Quando questi dati non sono più necessari, DirectDraw chiama automaticamente il metodo IUnknown::Release di questa interfaccia.
DDSPD_VOLATILE
Il buffer in lpData è valido solo mentre la superficie rimane invariata. Se il contenuto della superficie cambia, le chiamate successive al metodo IDirectDrawSurface7::GetPrivateData restituiscono DDERR_EXPIRED.
Valore restituito
Se il metodo ha esito positivo, il valore restituito viene DD_OK.
Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_OUTOFMEMORY
Commenti
DirectDraw non gestisce la memoria in lpData. Se questo buffer è stato allocato dinamicamente, il chiamante deve liberare la memoria.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | ddraw.h |
Libreria | Ddraw.lib |
DLL | Ddraw.dll |