XtfGetConsoleInfoList
本体に関する情報を格納する XtfConsoleInfo
オブジェクトを返します。
構文
HRESULT XtfGetConsoleInfoList(
PCWSTR address,
XtfConsoleInfo *hConsoleInfo
)
パラメーター
address
型: PCWSTR
[in] 本体のアドレス。
hConsoleInfo
型: XtfConsoleInfo*
[out] 本体に関する情報を取得するために XtfGetConsoleFieldValue 関数で使用されるポインター。
戻り値
型: HRESULT
関数が成功し、XtfGetConsoleFieldValue を使用して hConsoleInfo から値を取得できる場合は、S_OK
が返されます。それ以外の場合は、HRESULT エラー コードが返されます。
解説
本体に関する情報を取得するには、最初にこの関数を使用して XtfConsoleInfo
ポインターを取得し、次に XtfGetConsoleFieldValue を使用してそのポインターから本体に関する情報を取得します。 必要な情報を取得した後は、XtfCloseConsoleInfoList を使用して、返された XtfConsoleInfo
ポインターに関連付けられたリソースを解放します。
注意
XtfGetConsoleInfoList
は、コンソールからすべての情報を取得し、その情報へのポインターを提供します。
XtfGetConsoleFieldValue は、取得した情報を反復処理するだけです。 本体に関する情報を取得するには、両方の関数を一緒に使用する必要があります。
注意
この関数の address
で指定したターゲット本体が準備されていない場合、 に XtfConsoleFieldId::DeviceID が指定されていれば、XtfGetConsoleFieldValue 関数は field
で空の値を返します。
次のコード サンプルでは、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 本体ツール用)