メインコンテンツへスキップ
入力デバイスのプラグ アンド プレイ (PnP) デバイス パスを UTF-8 文字列として取得します。

構文

パラメーター

bufferByteCount   _In_
型: uint32_t
buffer が指すバッファーのサイズ (バイト単位)。必要なサイズをクエリするには 0 を渡します。 buffer   _Out_writes_bytes_opt_(bufferByteCount)
型: char*
null で終わる UTF-8 の PnP パスを受け取るバッファー。必要なサイズをクエリするには nullptr を渡します。

戻り値

型: uint32_t PnP パスを格納するために必要なバッファーのサイズ (バイト単位、null 終端文字を含む)。

解説

このメソッドは、buffer が nullptr ではなく、bufferByteCount が必要なサイズ以上の場合にのみ、PnP パスを buffer に書き込みます。それ以外の場合、バッファーは変更されません。パスを取得するには、まず bufferByteCount に 0、buffer に nullptr を指定してメソッドを呼び出して必要なサイズを取得し、そのサイズのバッファーを割り当ててから、もう一度メソッドを呼び出します。 デバイスに PnP パスがない場合、必要なサイズは 1 になり、メソッドは空の文字列を書き込みます。 PnP パスを使用すると、他の API を通じて基になるデバイスを参照できます。パスは UTF-8 でエンコードされているため、ワイド文字列を想定する Windows API に渡す前に、UTF-16 に変換してください (たとえば、CP_UTF8 を指定して MultiByteToWideChar を使用します)。 PnP パスは、デバイス オブジェクトの有効期間中は変化しません。 次の例では、デバイスの PnP パスを取得します。
GameInput v3 以前では、この情報は IGameInputDevice::GetDeviceInfo から返される GameInputDeviceInfo 構造体の pnpPath メンバーから取得できました。

要件

ヘッダー: GameInput.h ライブラリ: gameinput.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体、XBOX Series 本体

関連項目

GameInput の概要
IGameInputDevice
IGameInputDevice::GetDisplayName
IGameInputDevice::GetContainerId

バージョン履歴

最終更新日 2026年11月6日