次の方法で共有


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 本体ツール用)

関連項目

XtfConsoleControl
Xbox Tools Framework