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 函数将返回空值。
以下代码示例演示如何一起使用 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 主机工具)