Поделиться через


функция обратного вызова 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.

[out] LocationStrings

Указатель на последовательность строк Юникода, завершаемых null, которая завершается еще нулем. Каждая строка служит строкой расположения для устройства. Драйверы обычно возвращают одну строку.

Возвращаемое значение

Подпрограмма возвращает значение NTSTATUS, указывающее состояние операции.

Замечания

Структура PNP_LOCATION_INTERFACE предоставляет указатель на подпрограмму PnpGetLocationStr ing.

Подпрограмма PnpGetLocationString предоставляет определенную для устройства часть строки расположения для устройства. Диспетчер Plug and Play (PnP) собирает строку расположения для устройства, запрашивая водителя для устройства, для шины устройства, а также для всех родительских автобусов и объединения предоставленных строк.

Подпрограмма должна возвращать строку, уникальную для устройства относительно шины. Строка должна быть одинаковой для устройства во всех версиях операционной системы. Выбрав строку для этой цели, ее нельзя изменить.

По соглашению строка расположения принимает форму ServiceName(BusSpecificLocation). Например, устройства PCI используют PCI(XXYY), где XX является номером устройства, а Y — номер функции.

Подпрограмма PnpGetLocationStr ing вызывает подпрограмму, например ExAllocatePoolWithTag, чтобы выделить память для строки расположения. Вызывающий объект отвечает за вызов подпрограммы ExFreePool, чтобы освободить память, на которую указывает LocationStrings, если строка расположения больше не нужна.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows Server 2003.
целевая платформа Настольный
заголовка ntddk.h (include Ntddk.h, Ntifs.h)
IRQL <= PASSIVE_LEVEL

См. также

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE