Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt anwendungsdefinierte Daten auf das Objekt fest und ordnet diese Daten einer GUID zu.
Syntax
HRESULT SetPrivateData(
[in] REFGUID Name,
UINT DataSize,
[in] const void *pData
);
Parameter
[in] Name
Typ: REFGUID
Eine GUID, die die Daten identifiziert. Verwenden Sie diese GUID in einem Aufruf von GetPrivateData , um die Daten abzurufen.
DataSize
Typ: UINT
Die Größe der Daten des Objekts.
[in] pData
Typ: const void*
Ein Zeiger auf die Daten des Objekts.
Rückgabewert
Typ: HRESULT
Gibt einen der DXGI_ERROR Werte zurück.
Hinweise
SetPrivateData erstellt eine Kopie der angegebenen Daten und speichert sie mit dem -Objekt.
Private Daten, die SetPrivateData im Objekt speichert, belegen denselben Speicherplatz wie private Daten, die von zugeordneten Direct3D-Objekten (z. B. von einem Microsoft Direct3D 11-Gerät über ID3D11Device::SetPrivateData oder von einem untergeordneten Direct3D 11-Gerät über ID3D11DeviceChild::SetPrivateData) gespeichert werden.
Die Debugebene meldet Speicherverluste, indem eine Liste von Objektschnittstellenzeigern zusammen mit ihren Anzeigenamen ausgegeben wird. Der Standardanzeigename ist "<unbenannt>". Sie können den Anzeigenamen festlegen, damit Sie ermitteln können, ob der entsprechende Objektschnittstellenzeiger das Leck verursacht hat. Verwenden Sie zum Festlegen des Anzeigenamens die SetPrivateData-Methode und die bekannte GUID für private Daten (WKPDID_D3DDebugObjectName), die sich in D3Dcommon.h befindet. Verwenden Sie beispielsweise den folgenden Code, um pContext den Anzeigenamen "Mein Name" zuzuweisen:
static const char c_szName[] = "My name";
hr = pContext->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );
Sie können WKPDID_D3DDebugObjectName verwenden, um Speicherverluste aufzuspüren und die Leistungsmerkmale Ihrer Anwendungen zu verstehen. Diese Informationen spiegeln sich in der Ausgabe der Debugebene wider, die sich auf Speicherverluste (ID3D11Debug::ReportLiveDeviceObjects) bezieht, und in der Ereignisablaufverfolgung für Windows-Ereignisse, die wir zu Windows 8 hinzugefügt haben.
Anforderungen
| Zielplattform | Windows |
| Kopfzeile | dxgi.h |
| Bibliothek | DXGI.lib |