IDirectDrawSurface7::SetPrivateData-Methode (ddraw.h)
Ordnet Daten der Oberfläche zu, die für die Verwendung durch die Anwendung und nicht für DirectDraw vorgesehen ist. Daten werden nach Wert übergeben, und einer einzelnen Oberfläche können mehrere Datasets zugeordnet werden.
Syntax
HRESULT SetPrivateData(
[in] REFGUID unnamedParam1,
[in] LPVOID unnamedParam2,
[in] DWORD unnamedParam3,
[in] DWORD unnamedParam4
);
Parameter
[in] unnamedParam1
Verweisen Sie auf (C++) oder die Adresse (C) des global eindeutigen Bezeichners, der die festzulegenden privaten Daten identifiziert.
[in] unnamedParam2
Ein Zeiger auf einen Puffer, der die Daten enthält, die der Oberfläche zugeordnet werden sollen.
[in] unnamedParam3
Der Größenwert des Puffers bei lpData in Bytes.
[in] unnamedParam4
Ein Wert, der auf eines der folgenden Flags festgelegt werden kann. Diese Flags beschreiben den Typ der übergebenen Daten oder fordern an, dass die Daten ungültig werden, wenn sich die Oberfläche ändert.
(none)
Wenn keine Flags angegeben sind, weist DirectDraw Arbeitsspeicher zu, um die Daten im Puffer zu speichern, und kopiert die Daten in den neuen Puffer. Der von DirectDraw zugeordnete Puffer wird nach Bedarf automatisch freigegeben.
DDSPD_IUNKNOWNPOINTER
Die Daten in lpData sind ein Zeiger auf eine IUnknown-Schnittstelle . DirectDraw ruft automatisch die IUnknown::AddRef-Methode dieser Schnittstelle auf. Wenn diese Daten nicht mehr benötigt werden, ruft DirectDraw automatisch die IUnknown::Release-Methode dieser Schnittstelle auf.
DDSPD_VOLATILE
Der Puffer bei lpData ist nur gültig, während die Oberfläche unverändert bleibt. Wenn sich der Inhalt der Oberfläche ändert, geben nachfolgende Aufrufe der IDirectDrawSurface7::GetPrivateData-Methode DDERR_EXPIRED zurück.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.
Wenn ein Fehler auftritt, kann die -Methode einen der folgenden Fehlerwerte zurückgeben:
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_OUTOFMEMORY
Hinweise
DirectDraw verwaltet den Arbeitsspeicher bei lpData nicht. Wenn dieser Puffer dynamisch zugeordnet wurde, muss der Aufrufer den Arbeitsspeicher freigeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | ddraw.h |
Bibliothek | Ddraw.lib |
DLL | Ddraw.dll |