IDXGIObject::SetPrivateData-Methode (dxgi.h)
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 |