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

# XtfGetConsoleFieldValue

> XtfGetConsoleFieldValue

# XtfGetConsoleFieldValue

Récupère une information sur une console, parmi les suivantes : Tools IP Address, Console IP Address, AccessKey, Console ID, HostName, Device ID, DevKit Cert type, SystemMajorVersion, SystemMinorVersion, SystemBuildVersion ou SystemRevisionVersion.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
HRESULT XtfGetConsoleFieldValue(
         XtfConsoleInfo hConsoleInfo,
         XtfConsoleFieldId field,
         XtfConsoleFieldType *fieldType,
         BYTE *buffer,
         UINT32 *cbBuffer
)  
```

<a id="ID4EH" />

### Paramètres

*hConsoleInfo*\
Type : XtfConsoleInfo

\[in] Objet XtfConsoleInfo retourné par XtfGetConsoleInfoList.

*field*\
Type : XtfConsoleFieldId

\[in] Identificateur de la valeur à retourner, parmi les suivantes : Tools IP Address, Console IP Address, AccessKey, Console ID, HostName, Device ID, DevKit Cert type, SystemMajorVersion, SystemMinorVersion, SystemBuildVersion ou SystemRevisionVersion.

*fieldType*\
Type : XtfConsoleFieldType \*

\[out] Type de données de la valeur retournée, UINT32 ou PWCHAR.

*buffer*\
Type : BYTE \*

\[out] Pointeur vers la mémoire tampon qui reçoit la valeur retournée. Pour déterminer la taille de mémoire tampon requise, définissez ce paramètre sur nullptr et le paramètre cbBuffer sur 0. Au retour de la fonction, bufferSize est défini sur la taille de la mémoire tampon requise, en octets. Cette taille inclut l'espace pour le caractère null de fin si nécessaire.

*cbBuffer*\
Type : UINT32 \*

\[in, out] En entrée, taille de la mémoire tampon en octets. La taille de la mémoire tampon doit inclure de l'espace pour un caractère null de fin si la valeur retournée est un PWCHAR. En sortie, longueur requise de la mémoire tampon en octets.

<a id="ID4EN" />

### Valeur renvoyée

Type : HRESULT

Une valeur renvoyée S\_OK indique que la fonction a réussi et que buffer et fieldType contiennent la valeur et le type de la valeur.

Une valeur renvoyée HRESULT\_FROM\_WIN32(ERROR\_MORE\_DATA) indique que la mémoire tampon fournie pour l'argument **buffer** n'était pas assez grande. La taille de mémoire tampon requise est contenue dans **cbBuffer**.

Si la valeur n'est pas disponible (par exemple Device ID) sur un devkit non provisionné, le HRESULT retourné est 0x80070490.

Toute autre valeur indique qu'une erreur inattendue s'est produite.

<a id="remarks" />

## Remarques

Utilisez [XtfGetConsoleInfoList](/fr/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m) pour obtenir un objet **XtfConsoleInfo**, puis utilisez [XtfGetConsoleFieldValue](/fr/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) pour récupérer les valeurs de cet objet. Une fois les valeurs nécessaires récupérées, utilisez [XtfCloseConsoleInfoList](/fr/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m) pour libérer les ressources associées à l'objet **XtfConsoleInfo** retourné.

<Note>**XtfGetConsoleInfoList** récupère toutes les informations de la console. [XtfGetConsoleFieldValue](/fr/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) se contente de parcourir ces informations récupérées.</Note>

<Note>Si la console cible n'a pas été provisionnée, **DeviceID** retourne une valeur vide.</Note>

<a id="ID4E2C" />

```cpp theme={null}
int wmain(int argc, wchar_t **argv)
{
  HRESULT             hr             = S_OK;
  PCWSTR              consoleAddress = L" 190.167.10.18";
  XtfConsoleInfo      hConsoleInfo   = nullptr;
  XtfConsoleFieldType fieldType      = XtfConsoleFieldType::FieldTypeUINT32;
  BYTE *              pValueBuffer   = nullptr;
  UINT32              bufferSize     = 0;

  hr = XtfGetConsoleInfoList(consoleAddress, &hConsoleInfo);
  if (FAILED(hr))
  {
    wprintf(L"\n\n*** XtfGetConsoleInfoList failed 0x%x", hr);
    return hr;
  }

  hr = XtfGetConsoleFieldValue(hConsoleInfo, XtfConsoleFieldId::ConsoleId, &fieldType, nullptr, &bufferSize);
  if (hr != HRESULT_FROM_WIN32(ERROR_MORE_DATA))
  {
    XtfCloseConsoleInfoList(hConsoleInfo);
    wprintf(L"\n\n*** XtfGetConsoleFieldValue failed 0x%x", hr);
    return hr;
  }

  pValueBuffer = new BYTE[bufferSize];

  hr  = XtfGetConsoleFieldValue(hConsoleInfo, XtfConsoleFieldId::ConsoleId, &fieldType, pValueBuffer, &bufferSize);
  if (SUCCEEDED(hr))
  {
    PWCHAR consoleId = (PWCHAR)pValueBuffer;
    wprintf(L"\n\n*** Console ID is %s", consoleId);
  }
  else
  {
    wprintf(L"\n\n*** XtfGetConsoleFieldValue failed 0x%x", hr);
  }

  XtfCloseConsoleInfoList(hConsoleInfo);
  delete[] pValueBuffer;

  return hr;
}  
```

## Configuration requise

**En-tête :** xtfapi.h

**Bibliothèque :** XtfApi.lib

**Plateformes prises en charge :** Windows (pour les outils de console XBOX)

## Voir aussi

[Erreurs de transport XTF (rubrique sous NDA)](/fr/tools/tools-console/commandlinetools/xtf-transport-errors)\
[API Xtf supplémentaires](/fr/reference/tools/xtf/xtfapi/atoc-xtfapi)


## Related topics

- [XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m.md)
- [XtfGetConsoleInfoList](/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m.md)
- [XtfConsoleFieldId Enumeration](/reference/tools/xtf/xtfapi/enums/xtfconsolefieldid-xbox-windows-t.md)
- [XtfConsoleFieldType Enumeration](/reference/tools/xtf/xtfapi/enums/xtfconsolefieldtype-xbox-windows-t.md)
- [Enumeración XtfConsoleFieldId](/es/reference/tools/xtf/xtfapi/enums/xtfconsolefieldid-xbox-windows-t.md)
