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

コンソールに関する情報 (Tools IP Address、Console IP Address、AccessKey、Console ID、HostName、Device ID、DevKit Cert type、SystemMajorVersion、SystemMinorVersion、SystemBuildVersion、SystemRevisionVersion のいずれか) を取得します。

<a id="syntaxSection" />

## Syntax

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

<a id="ID4EH" />

### Parameters

*hConsoleInfo*\
型: XtfConsoleInfo

\[in] XtfGetConsoleInfoList によって返された XtfConsoleInfo オブジェクトです。

*field*\
型: XtfConsoleFieldId

\[in] 返す値の識別子です。Tools IP Address、Console IP Address、AccessKey、Console ID、HostName、Device ID、DevKit Cert type、SystemMajorVersion、SystemMinorVersion、SystemBuildVersion、SystemRevisionVersion のいずれかを指定します。

*fieldType*\
型: XtfConsoleFieldType \*

\[out] 返される値のデータ型 (UINT32 または PWCHAR のいずれか) です。

*buffer*\
型: BYTE \*

\[out] 返される値を受け取るバッファーへのポインターです。必要なバッファー サイズを求めるには、このパラメーターを nullptr に、cbBuffer パラメーターを 0 に設定します。関数が戻ると、bufferSize には必要なバッファーのサイズがバイト単位で設定されます。このサイズには、必要な場合は終端の null 文字用の領域が含まれます。

*cbBuffer*\
型: UINT32 \*

\[in, out] 入力時はバッファーのサイズをバイト単位で指定します。返される値が PWCHAR の場合、バッファー サイズには終端の null 文字用の領域を含める必要があります。出力時は必要なバッファーの長さをバイト単位で受け取ります。

<a id="ID4EN" />

### Return value

型: HRESULT

戻り値が S\_OK の場合、関数は成功しており、buffer と fieldType には値と値の型が含まれています。

戻り値が HRESULT\_FROM\_WIN32(ERROR\_MORE\_DATA) の場合、**buffer** 引数に指定したバッファーの長さが足りなかったことを示します。必要なバッファー サイズは **cbBuffer** に格納されます。

プロビジョニングされていない devkit で値が利用できない (Device ID など) 場合、戻り値の HRESULT は 0x80070490 になります。

それ以外の値は、予期しないエラーが発生したことを示します。

<a id="remarks" />

## Remarks

[XtfGetConsoleInfoList](/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m) を使用して **XtfConsoleInfo** オブジェクトを取得し、次に [XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) を使用してそのオブジェクトから値を取得します。必要な値の取得が完了したら、返された **XtfConsoleInfo** オブジェクトに関連付けられたリソースを解放するために [XtfCloseConsoleInfoList](/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m) を使用します。

<Note>**XtfGetConsoleInfoList** はコンソールからすべての情報を取得します。[XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m) は取得済みのそれらの情報を単に反復処理するだけです。</Note>

<Note>ターゲット コンソールがプロビジョニングされていない場合、**DeviceID** は空の値を返します。</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;
}  
```

## Requirements

**ヘッダー:** xtfapi.h

**ライブラリ:** XtfApi.lib

**サポートされているプラットフォーム:** Windows (XBOX コンソール ツール用)

## See also

[XTF Transport Errors (NDA topic)](/tools/tools-console/commandlinetools/xtf-transport-errors)\
[Additional Xtf APIs](/reference/tools/xtf/xtfapi/atoc-xtfapi)


## Related topics

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