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 字符串序列的指针,该字符串由另一个零终止。 每个字符串用作设备的位置字符串。 驱动程序通常返回单个字符串。

返回值

例程返回 NTSTATUS 值以指示操作的状态。

注解

PNP_LOCATION_INTERFACE 结构提供指向 PnpGetLocationString 例程的指针。

PnpGetLocationString 例程为设备提供特定于设备的位置字符串部分。 即插即用 (PnP) 管理器通过查询设备的驱动程序、设备的总线和任何父总线,并将提供的字符串串联在一起,为设备组装位置字符串。

例程必须返回相对于其总线的设备唯一的字符串。 对于所有版本的操作系统的设备,字符串必须相同。 为此选择字符串后,不得更改它。

按照约定,位置字符串采用 ServiceName (BusSpecificLocation) 格式。 例如,PCI 设备使用 PCI (XXYY) ,其中 XX 是设备编号, YY 是函数编号。

PnpGetLocationString 例程调用 ExAllocatePoolWithTag 等例程来为位置字符串分配内存。 调用方负责调用 ExFreePool 例程,以便在不再需要位置字符串时释放 LocationStrings 指向的内存。

要求

要求
最低受支持的客户端 从 Windows Server 2003 开始可用。
目标平台 桌面
标头 ntddk.h (包括 Ntddk.h、Ntifs.h)
IRQL <= PASSIVE_LEVEL

另请参阅

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE