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

## 구문

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

<a id="ID4EH" />

### 매개 변수

*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" />

### 반환값

형식: HRESULT

반환값이 S\_OK이면 함수가 성공했으며 buffer와 fieldType에 값과 값의 형식이 들어 있음을 나타냅니다.

반환값이 HRESULT\_FROM\_WIN32(ERROR\_MORE\_DATA)이면 **buffer** 인수로 제공된 버퍼가 충분히 크지 않았음을 나타냅니다. 필요한 버퍼 크기는 **cbBuffer**에 들어 있습니다.

값을 사용할 수 없는 경우(예: 프로비저닝되지 않은 devkit에서의 Device ID), 반환되는 HRESULT는 0x80070490입니다.

다른 값은 예기치 않은 오류가 발생했음을 나타냅니다.

<a id="remarks" />

## 설명

[XtfGetConsoleInfoList](/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m)를 사용하여 **XtfConsoleInfo** 개체를 가져온 다음, [XtfGetConsoleFieldValue](/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m)를 사용하여 해당 개체에서 값을 검색합니다. 필요한 값을 검색한 후에는 [XtfCloseConsoleInfoList](/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m)를 사용하여 반환된 **XtfConsoleInfo** 개체와 관련된 리소스를 해제하세요.

<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;
}  
```

## 요구 사항

**헤더:** xtfapi.h

**라이브러리:** XtfApi.lib

**지원 플랫폼:** Windows(XBOX 콘솔 도구용)

## 참고 항목

[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](/ko/reference/tools/xtf/xtfapi/enums/xtfconsolefieldid-xbox-windows-t.md)
- [XtfConsoleFieldType Enumeration](/ko/reference/tools/xtf/xtfapi/enums/xtfconsolefieldtype-xbox-windows-t.md)
- [XtfGetConsoleInfoList](/ko/reference/tools/xtf/xtfconsolecontrol/functions/xtfgetconsoleinfolist-xtfconsolecontrol-xbox-microsoft-m.md)
- [XtfConsoleCertType Enumeration](/ko/reference/tools/xtf/xtfapi/enums/xtfconsolecerttype-xbox-windows-t.md)
- [XtfCloseConsoleInfoList](/ko/reference/tools/xtf/xtfapi/functions/xtfcloseconsoleinfolist-xbox-microsoft-m.md)
