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

Recupera información sobre una consola: Tools IP Address, Console IP Address, AccessKey, Console ID, HostName, Device ID, DevKit Cert type, SystemMajorVersion, SystemMinorVersion, SystemBuildVersion o SystemRevisionVersion.

<a id="syntaxSection" />

## Sintaxis

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

<a id="ID4EH" />

### Parámetros

*hConsoleInfo*\
Tipo: XtfConsoleInfo

\[in] Objeto XtfConsoleInfo devuelto por XtfGetConsoleInfoList.

*field*\
Tipo: XtfConsoleFieldId

\[in] Identificador del valor que se va a devolver: Tools IP Address, Console IP Address, AccessKey, Console ID, HostName, Device ID, DevKit Cert type, SystemMajorVersion, SystemMinorVersion, SystemBuildVersion o SystemRevisionVersion.

*fieldType*\
Tipo: XtfConsoleFieldType \*

\[out] El tipo de datos del valor devuelto: UINT32 o PWCHAR.

*buffer*\
Tipo: BYTE \*

\[out] Un puntero al búfer que recibe el valor devuelto. Para determinar el tamaño de búfer necesario, establezca este parámetro en nullptr y el parámetro cbBuffer en 0. Cuando la función devuelva el control, bufferSize se establecerá en el tamaño del búfer necesario en bytes. Este tamaño incluirá espacio para el carácter nulo de terminación si es necesario.

*cbBuffer*\
Tipo: UINT32 \*

\[in, out] En la entrada, el tamaño del búfer en bytes. El tamaño del búfer debe incluir espacio para un carácter nulo de terminación si el valor devuelto es un PWCHAR. En la salida, la longitud necesaria del búfer en bytes.

<a id="ID4EN" />

### Valor devuelto

Tipo: HRESULT

Un valor devuelto de S\_OK indica que la función se completó correctamente y que buffer y fieldType contienen el valor y el tipo del valor.

Un valor devuelto de HRESULT\_FROM\_WIN32(ERROR\_MORE\_DATA) indica que el búfer proporcionado para el argumento **buffer** no era lo suficientemente grande. El tamaño de búfer necesario se encuentra en **cbBuffer**.

Si el valor no está disponible (por ejemplo, Device ID) en un kit de desarrollo sin aprovisionar, el HRESULT devuelto será 0x80070490.

Cualquier otro valor indica que se produjo un error inesperado.

<a id="remarks" />

## Comentarios

Use [XtfGetConsoleInfoList](/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m) para obtener un objeto **XtfConsoleInfo** y, después, use [XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) para recuperar los valores de ese objeto. Cuando haya recuperado los valores que necesitaba, use [XtfCloseConsoleInfoList](/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m) para liberar los recursos asociados al objeto **XtfConsoleInfo** devuelto.

<Note>**XtfGetConsoleInfoList** recupera toda la información de la consola. [XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) simplemente recorre esa información recuperada.</Note>

<Note>Si la consola de destino no se ha aprovisionado, **DeviceID** devolverá un valor vacío.</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;
}  
```

## Requisitos

**Encabezado:** xtfapi.h

**Biblioteca:** XtfApi.lib

**Plataformas compatibles:** Windows (para herramientas de consola XBOX)

## Consulte también

[Errores de transporte de XTF (tema con NDA)](/tools/tools-console/commandlinetools/xtf-transport-errors)\
[API de Xtf adicionales](/reference/tools/xtf/xtfapi/atoc-xtfapi)


## Related topics

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