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.
Ruft einen Zeiger auf das Gerät ab, das diese Schnittstelle erstellt hat.
Syntax
HRESULT GetDevice(
REFIID riid,
[out, optional] void **ppvDevice
);
Parameter
riid
Typ: REFIID
Der globally unique Identifier (GUID) für die Geräteschnittstelle. Die REFIID oder GUID der Schnittstelle zum Gerät kann mithilfe des Makros __uuidof() abgerufen werden. Beispielsweise ruft __uuidof(ID3D12Device) die GUID der Schnittstelle auf ein Gerät ab.
[out, optional] ppvDevice
Typ: void**
Ein Zeiger auf einen Speicherblock, der einen Zeiger auf die ID3D12Device-Schnittstelle für das Gerät empfängt.
Rückgabewert
Typ: HRESULT
Diese Methode gibt einen der Direct3D 12-Rückgabecodes zurück.
Hinweise
Bei allen zurückgegebenen Schnittstellen wird die Referenzanzahl um eins erhöht. Rufen Sie daher unbedingt ::release() für die zurückgegebenen Zeiger auf, bevor sie freigegeben werden, da sonst speicherlecks auftreten.
Beispiele
Das D3D12Multithreading-Beispiel verwendet ID3D12DeviceChild::GetDevice wie folgt:
// Returns required size of a buffer to be used for data upload
inline UINT64 GetRequiredIntermediateSize(
_In_ ID3D12Resource* pDestinationResource,
_In_range_(0,D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
_In_range_(0,D3D12_REQ_SUBRESOURCES-FirstSubresource) UINT NumSubresources)
{
D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc();
UINT64 RequiredSize = 0;
ID3D12Device* pDevice;
pDestinationResource->GetDevice(__uuidof(*pDevice), reinterpret_cast<void**>(&pDevice));
pDevice->GetCopyableFootprints(&Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize);
pDevice->Release();
return RequiredSize;
}
Weitere Informationen finden Sie im Beispielcode in der D3D12-Referenz.
Anforderungen
| Zielplattform | Windows |
| Kopfzeile | d3d12.h |
| Bibliothek | D3D12.lib |
| DLL | D3D12.dll |