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 |