XtfCloseConsoleInfoList

释放与 XtfGetConsoleInfoList 返回的 XtfConsoleInfo 对象关联的资源。

语法

HRESULT XtfCloseConsoleInfoList(
         XtfConsoleInfo hConsoleInfo
)  

参数

hConsoleInfo
类型:XtfConsoleInfo

[in] 要释放的 XtfConsoleInfo 对象。

返回值

类型:HRESULT

返回值 S_OK 指示函数成功。 任何其他值指示出现意外错误。

备注

使用 XtfGetConsoleInfoList 获取 XtfConsoleInfo 对象,然后使用 XtfGetConsoleFieldValue 从该对象检索值。 检索到所需的值后,使用 XtfCloseConsoleInfoList 释放与返回的 XtfConsoleInfo 对象关联的资源。

注意

XtfGetConsoleInfoList 从主机检索所有信息。 XtfGetConsoleFieldValue 仅对该检索的信息进行迭代。

注意

如果目标主机尚未预配 DeviceID 将返回空值。

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 传输错误(NDA 主题)要求授权
其他 Xtf API