функция обратного вызова 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
Указатель на сведения о контексте для конкретного интерфейса. Вызывающий объект передает значение, передаваемое в качестве элемента Contextструктуры PNP_LOCATION_INTERFACE .
[out] LocationStrings
Указатель на последовательность строк Юникода, заканчивающихся нулевым значением, которая заканчивается другим нулем. Каждая строка служит строкой расположения для устройства. Драйверы обычно возвращают одну строку.
Возвращаемое значение
Подпрограмма возвращает значение NTSTATUS, указывающее состояние операции.
Комментарии
Структура PNP_LOCATION_INTERFACE предоставляет указатель на подпрограмму PnpGetLocationString .
Подпрограмма PnpGetLocationString предоставляет зависят от устройства часть строки расположения для устройства. Диспетчер Plug and Play (PnP) собирает строку расположения для устройства, запрашивая у водителя устройство, шину устройства и все родительские шины и объединяет предоставленные строки вместе.
Подпрограмма должна возвращать строку, которая является уникальной для устройства относительно его шины. Строка должна быть одинаковой для устройства во всех версиях операционной системы. После выбора строки для этой цели ее не следует изменять.
По соглашению строка расположения имеет вид ServiceName(BusSpecificLocation). Например, устройства PCI используют стандарт PCI(XXYY), где XX — номер устройства, а ГГ — номер функции.
Подпрограмма PnpGetLocationString вызывает подпрограмму, например ExAllocatePoolWithTag , чтобы выделить память для строки расположения. Вызывающий объект отвечает за вызов подпрограммы ExFreePool для освобождения памяти, на которую указывает LocationStrings , если строка расположения больше не нужна.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Server 2003. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ntddk.h (включая Ntddk.h, Ntifs.h) |
IRQL | <= PASSIVE_LEVEL |