XtfGetConsoleInfoList

返回包含关于主机信息的 XtfConsoleInfo 对象。

语法

HRESULT XtfGetConsoleInfoList(
         PCWSTR address,
         XtfConsoleInfo *hConsoleInfo
)  

参数

address
类型:PCWSTR

[in] 主机的 IP 地址。

hConsoleInfo
类型:XtfConsoleInfo*

[out] 与 XtfGetConsoleFieldValue 函数一起使用的指针,用于检索有关主机的信息。

返回值

类型:HRESULT

如果函数执行成功,则返回 S_OK,且 XtfGetConsoleFieldValue 可用于从 hConsoleInfo 检索值;否则,返回 HRESULT 错误代码。

备注

若要检索有关主机的信息,请首先使用此函数获取 XtfConsoleInfo 指针,然后使用 XtfGetConsoleFieldValue 从该指针检索有关主机的信息。 检索到所需信息后,请使用 XtfCloseConsoleInfoList 释放与返回的 XtfConsoleInfo 指针相关联的资源。

注意

XtfGetConsoleInfoList从主机检索所有信息,并提供指向该信息的指针。 XtfGetConsoleFieldValue 仅对该检索的信息进行迭代。 必须同时使用这两个函数来检索有关主机的信息。

注意

如果为此函数指定的 address 目标主机尚未预配,如果在field中指定 XtfConsoleFieldId::DeviceID,则XtfGetConsoleFieldValue 函数将返回空值。

以下代码示例演示如何一起使用 XtfGetConsoleInfoListXtfGetConsoleFieldValue 函数来检索开发主机的主机 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 工具框架