> ## 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.

# CreateRootSignature

> Crée une disposition de signature racine.

Crée une disposition de signature racine.

## Syntaxe

```cpp theme={null}
HRESULT CreateRootSignature(
    UINT nodeMask,
    const void  pBlobWithRootSignature,
    SIZE_T blobLengthInBytes,
    const IID & riid,
    void  ppvRootSignature
)
```

### Paramètres

*nodeMask \[in]*\
Type : UINT

Pour une opération à un seul GPU, définissez cette valeur à zéro. S'il y a plusieurs nœuds GPU, définissez des bits pour identifier les nœuds (les cartes physiques de l'appareil) auxquels la signature racine doit s'appliquer.
Chaque bit du masque correspond à un seul nœud.
Consultez [Systèmes à plusieurs cartes](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*pBlobWithRootSignature \[in]*\
Type : const void \*

Pointeur vers les données sources de la signature sérialisée.

*blobLengthInBytes \[in]*\
Type : **[SIZE\_T](https://learn.microsoft.com/en-us/windows/win32/WinProg/windows-data-types)**

Taille, en octets, du bloc de mémoire vers lequel pointe <i>pBlobWithRootSignature</i>.

*riid*\
Type : const IID &

Identificateur global unique (**GUID**) de l'interface de signature racine. Consultez Remarques.
Paramètre d'entrée.

*ppvRootSignature \[out]*\
Type : void \*\*

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers la signature racine.

### Valeur de retour

Type : HRESULT

Retourne **S\_OK** en cas de réussite; sinon, retourne l'un des [codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues).

Cette méthode retourne **E\_INVALIDARG** si le blob vers lequel pointe <i>pBlobWithRootSignature</i> n'est pas valide.

## Remarques

Si une application génère de façon procédurale une structure de données [D3D12\_ROOT\_SIGNATURE\_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public), elle doit passer un pointeur vers cette structure **D3D12\_ROOT\_SIGNATURE\_DESC** dans un appel à [D3D12SerializeRootSignature](/fr-CA/reference/graphics/d3d12/functions/d3d12serializerootsignature_public) pour produire la forme sérialisée.
L'application passe ensuite la forme sérialisée à <i>pBlobWithRootSignature</i> dans un appel à **ID3D12Device::CreateRootSignature**.

Le **REFIID**, ou **GUID**, de l'interface de la disposition de signature racine peut être obtenu à l'aide de la macro \_\_uuidof().
Par exemple, \_\_uuidof([ID3D12RootSignature](/fr-CA/reference/graphics/d3d12/interfaces/id3d12rootsignature/id3d12rootsignature_public)) obtient le **GUID** de l'interface d'une signature racine.

#### Exemples

L'exemple [D3D12HelloTriangle](https://learn.microsoft.com/en-us/windows/win32/direct3d12/working-samples) utilise **ID3D12Device::CreateRootSignature** comme suit :

Créer une signature racine vide.

```cpp theme={null}
CD3DX12_ROOT_SIGNATURE_DESC rootSignatureDesc;
rootSignatureDesc.Init(0, nullptr, 0, nullptr, D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT);

ComPtr<ID3DBlob> signature;
ComPtr<ID3DBlob> error;
ThrowIfFailed(D3D12SerializeRootSignature(&rootSignatureDesc, D3D_ROOT_SIGNATURE_VERSION_1, &signature, &error));
ThrowIfFailed(m_device->CreateRootSignature(0, signature->GetBufferPointer(), signature->GetBufferSize(), IID_PPV_ARGS(&m_rootSignature)));

```

## 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

[ID3D12Device](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [D3D12SerializeRootSignature](/fr-CA/reference/graphics/d3d12/functions/d3d12serializerootsignature_public.md)
- [D3D12CreateRootSignatureDeserializer](/fr-CA/reference/graphics/d3d12/functions/d3d12createrootsignaturedeserializer_public.md)
- [D3D12CreateVersionedRootSignatureDeserializer](/fr-CA/reference/graphics/d3d12/functions/d3d12createversionedrootsignaturedeserializer_public.md)
- [CreateCommandSignature](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandsignature_public.md)
- [D3D_ROOT_SIGNATURE_VERSION](/fr-CA/reference/graphics/d3d12/enums/d3d_root_signature_version_public.md)
