> ## 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 : adresse IP des outils, adresse IP de la console, AccessKey, ID de console, HostName, ID d'appareil, type de certificat DevKit, 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 : adresse IP des outils, adresse IP de la console, AccessKey, ID de console, HostName, ID d'appareil, type de certificat DevKit, SystemMajorVersion, SystemMinorVersion, SystemBuildVersion ou SystemRevisionVersion.

*fieldType*\
Type : XtfConsoleFieldType \*

\[out] Le type de données de la valeur retournée, soit UINT32, soit PWCHAR.

*buffer*\
Type : BYTE \*

\[out] Un 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 sera défini sur la taille de la mémoire tampon requise, en octets. Cette taille inclura l'espace pour le caractère nul de fin, si nécessaire.

*cbBuffer*\
Type : UINT32 \*

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

<a id="ID4EN" />

### Valeur de retour

Type : HRESULT

Une valeur de retour 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 de retour 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, l'ID d'appareil) sur une trousse de développement non provisionnée, le HRESULT retourné sera 0x80070490.

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

<a id="remarks" />

## Remarques

Utilisez [XtfGetConsoleInfoList](/fr-CA/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m) pour obtenir un objet **XtfConsoleInfo**, puis utilisez [XtfGetConsoleFieldValue](/fr-CA/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-CA/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-CA/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** retournera 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-CA/tools/tools-console/commandlinetools/xtf-transport-errors)\
[API Xtf supplémentaires](/fr-CA/reference/tools/xtf/xtfapi/atoc-xtfapi)


## Related topics

- [XtfGetConsoleInfoList](/fr-CA/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m.md)
- [Énumération XtfConsoleFieldId](/fr-CA/reference/tools/xtf/xtfapi/enums/xtfconsolefieldid-xbox-windows-t.md)
- [Énumération XtfConsoleFieldType](/fr-CA/reference/tools/xtf/xtfapi/enums/xtfconsolefieldtype-xbox-windows-t.md)
- [XtfCloseConsoleInfoList](/fr-CA/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m.md)
- [Énumération XtfConsoleCertType](/fr-CA/reference/tools/xtf/xtfapi/enums/xtfconsolecerttype-xbox-windows-t.md)
