다음을 통해 공유


XtfGetConsoleInfoList

콘솔에 대한 정보가 포함된 XtfConsoleInfo 개체를 반환합니다.

구문

HRESULT XtfGetConsoleInfoList(
         PCWSTR address,
         XtfConsoleInfo *hConsoleInfo
)  

매개 변수

address
형식: PCWSTR

[in] 콘솔의 주소입니다.

hConsoleInfo
형식: XtfConsoleInfo*

[out] 콘솔에 대한 정보를 찾기 위해 XtfGetConsoleFieldValue 함수에서 사용하는 포인터입니다.

반환 값

형식: HRESULT

함수가 성공하고 hConsoleInfo에서 값을 검색하기 위해 XtfGetConsoleFieldValue를 사용할 수 있으면 S_OK을(를) 반환합니다. 이와 다른 경우, HRESULT 오류 코드를 반환합니다.

설명

콘솔에 대한 정보를 검색하려면 먼저 이 함수를 사용하여 XtfConsoleInfo 포인터를 받은 다음 XtfGetConsoleFieldValue를 사용하여 해당 포인터에서 콘솔에 대한 정보를 검색합니다. 필요한 정보를 검색 한 후 XtfCloseConsoleInfoList를 사용하여 반환된 XtfConsoleInfo 포인터와 관련된 리소스를 해제합니다.

참고 항목

XtfGetConsoleInfoList은(는) 콘솔에서 모든 정보를 검색하고 해당 정보에 대한 포인터를 제공 합니다. XtfGetConsoleFieldValue는 검색된 정보만 반복합니다. 콘솔에 대한 정보를 검색하려면 두 함수를 함께 사용해야 합니다.

참고 항목

이 함수에 대해 address에서 지정된 대상 콘솔이 제공되지 않은 경우, field에서 XtfConsoleFieldId::DeviceID가 지정되면 XtfGetConsoleFieldValue 함수는 빈 값을 반환합니다.

다음 코드 예제는 XtfGetConsoleInfoList(와)과 XtfGetConsoleFieldValue 함수를 함께 사용하여 개발 콘솔의 콘솔 ID를 검색하는 방법을 보여 줍니다.

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 콘솔 도구용)

참고 항목

XtfConsoleControl
Xbox 도구 프레임워크