PGET_LOCATION_STRING コールバック関数 (ntddk.h)

PnpGetLocationString ルーチンは、デバイスの SPDRP_LOCATION_PATHS プロパティのデバイス固有の部分を提供します。

構文

PGET_LOCATION_STRING PgetLocationString;

NTSTATUS PgetLocationString(
  [in, out] PVOID Context,
  [out]     PZZWSTR *LocationStrings
)
{...}

パラメーター

[in, out] Context

インターフェイス固有のコンテキスト情報へのポインター。 呼び出し元は、PNP_LOCATION_INTERFACE構造体の Context メンバーとして渡される値を渡します。

[out] LocationStrings

null で終わる Unicode 文字列のシーケンスへのポインター。別の 0 で終了します。 各文字列は、デバイスの場所文字列として機能します。 ドライバーは通常、1 つの文字列を返します。

戻り値

ルーチンは、操作の状態を示す NTSTATUS 値を返します。

注釈

PNP_LOCATION_INTERFACE構造体は、PnpGetLocationString ルーチンへのポインターを提供します。

PnpGetLocationString ルーチンは、デバイスの場所文字列のデバイス固有の部分を提供します。 プラグ アンド プレイ (PnP) マネージャーは、デバイス、デバイスのバス、および親バスのドライバーに対してクエリを実行し、指定された文字列を連結することで、デバイスの場所文字列をアセンブルします。

ルーチンは、バスに対する相対的なデバイスに固有の文字列を返す必要があります。 文字列は、オペレーティング システムのすべてのバージョンでデバイスで同じである必要があります。 この目的で文字列を選択した後は、変更しないでください。

慣例により、場所の文字列は ServiceName(BusSpecificLocation) という形式になります。 たとえば、PCI デバイスでは PCI(XXYY) が使用されます。 XX はデバイス番号、 YY は関数番号です。

PnpGetLocationString ルーチンは、ExAllocatePoolWithTag などのルーチンを呼び出して、場所文字列のメモリを割り当てます。 呼び出し元は ExFreePool ルーチンを呼び出して、場所文字列が不要になったときに LocationStrings が指すメモリを解放する役割を担います。

要件

要件
サポートされている最小のクライアント Windows Server 2003 以降で使用できます。
対象プラットフォーム デスクトップ
Header ntddk.h (Ntddk.h、Ntifs.h を含む)
IRQL <= PASSIVE_LEVEL

こちらもご覧ください

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE