> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GetDevice

> Obtient un pointeur vers l'appareil qui a créé cette interface.

Obtient un pointeur vers l'appareil qui a créé cette interface.

## Syntaxe

```cpp theme={null}
void GetDevice(
    const IID & riid,
    void** ppvDevice
)
```

### Paramètres

*riid*\
Type : const IID &

Identificateur global unique (**GUID**) de l'interface de l'appareil.
Le **REFIID**, ou **GUID**, de l'interface de l'appareil peut être obtenu à l'aide de la macro \_\_uuidof().
Par exemple, \_\_uuidof([ID3D12Device](/fr/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)) permet d'obtenir le **GUID** de l'interface d'un appareil.

*ppvDevice \[out, optional]*\
Type : **void**\*\*

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers l'interface [ID3D12Device](/fr/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device) de l'appareil.

### Valeur renvoyée

Type : void

Cette méthode renvoie l'un des [codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues).

## Remarques

Le nombre de références de toutes les interfaces renvoyées est incrémenté de un ; veillez donc à appeler ::release() sur les pointeurs renvoyés avant qu'ils ne soient libérés, sinon vous aurez une fuite de mémoire.

#### Exemples

L'exemple [D3D12Multithreading](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) utilise **ID3D12DeviceChild::GetDevice** comme suit :

```cpp theme={null}
// 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;
}

```

Consultez [Exemple de code dans la référence D3D12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/notes-on-example-code).

<div class="code" />

## Configuration requise

**En-tête :** d3d12\_xs.h ou d3d12\_x.h\
**Bibliothèque :** d3d12\_xs.lib ou d3d12\_x.lib\
**Plateformes prises en charge :** consoles XBOX Series et famille XBOX One

## Voir aussi

[ID3D12DeviceChild](/fr/reference/graphics/d3d12/interfaces/id3d12devicechild/id3d12devicechild_public)


## Related topics

- [IGameInputRawDeviceReport::GetDevice](/fr/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getdevice.md)
- [IGameInputReading::GetDevice](/fr/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getdevice.md)
- [PartyNetwork::GetDevices](/fr/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getdevices.md)
- [PartyEndpoint::GetDevice](/fr/services/playfab/multiplayer/networking/reference/classes/PartyEndpoint/methods/partyendpoint_getdevice.md)
- [PartyChatControl::GetDevice](/fr/services/playfab/multiplayer/networking/reference/classes/PartyChatControl/methods/partychatcontrol_getdevice.md)
