PGET_LOCATION_STRING función de devolución de llamada (ntddk.h)

La rutina PnpGetLocationString proporciona la parte específica del dispositivo de la propiedad SPDRP_LOCATION_PATHS del dispositivo.

Sintaxis

PGET_LOCATION_STRING PgetLocationString;

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

Parámetros

[in, out] Context

Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura PNP_LOCATION_INTERFACE .

[out] LocationStrings

Puntero a una secuencia de cadenas Unicode terminadas en NULL, terminadas por otro cero. Cada cadena actúa como una cadena de ubicación para el dispositivo. Normalmente, los controladores devuelven una sola cadena.

Valor devuelto

La rutina devuelve un valor NTSTATUS para indicar el estado de la operación.

Comentarios

La estructura PNP_LOCATION_INTERFACE proporciona un puntero a la rutina PnpGetLocationString .

La rutina PnpGetLocationString proporciona la parte específica del dispositivo de la cadena de ubicación del dispositivo. El administrador de Plug and Play (PnP) ensambla la cadena de ubicación de un dispositivo consultando el controlador del dispositivo, para el bus del dispositivo y los buses primarios, y concatenando las cadenas proporcionadas juntas.

La rutina debe devolver una cadena que sea única para el dispositivo en relación con su bus. La cadena debe ser la misma para el dispositivo en todas las versiones del sistema operativo. Una vez que seleccione una cadena para este fin, no debe cambiarla.

Por convención, la cadena de ubicación adopta el formato ServiceName(BusSpecificLocation). Por ejemplo, los dispositivos PCI usan PCI(XXYY), donde XX es el número de dispositivo y YY es el número de función.

La rutina PnpGetLocationString llama a una rutina como ExAllocatePoolWithTag para asignar la memoria de la cadena de ubicación. El autor de la llamada es responsable de llamar a la rutina ExFreePool para liberar la memoria a la que apunta LocationStrings cuando la cadena de ubicación ya no es necesaria.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Server 2003.
Plataforma de destino Escritorio
Encabezado ntddk.h (include Ntddk.h, Ntifs.h)
IRQL <= PASSIVE_LEVEL

Consulte también

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE