Partager via


PGET_LOCATION_STRING fonction de rappel (ntddk.h)

La routine PnpGetLocationString fournit la partie spécifique de l’appareil de la propriété SPDRP_LOCATION_PATHS de l’appareil.

Syntaxe

PGET_LOCATION_STRING PgetLocationString;

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

Paramètres

[in, out] Context

Pointeur vers des informations de contexte spécifiques à l’interface. L’appelant transmet la valeur qui est passée en tant que membre context de la structure PNP_LOCATION_INTERFACE.

[out] LocationStrings

Pointeur vers une séquence de chaînes Unicode terminées par null, qui est arrêtée par un autre zéro. Chaque chaîne sert de chaîne d’emplacement pour l’appareil. Les pilotes retournent généralement une seule chaîne.

Valeur de retour

La routine retourne une valeur NTSTATUS pour indiquer l’état de l’opération.

Remarques

La structure PNP_LOCATION_INTERFACE fournit un pointeur vers la routine PnpGetLocationString.

La routine PnpGetLocationString fournit la partie spécifique de l’appareil de la chaîne d’emplacement de l’appareil. Le gestionnaire Plug-and-Play (PnP) assemble la chaîne d’emplacement d’un appareil en interrogeant le pilote pour l’appareil, pour le bus de l’appareil et tous les bus parents, et en concaténant les chaînes fournies ensemble.

La routine doit retourner une chaîne unique à l’appareil par rapport à son bus. La chaîne doit être la même pour l’appareil sur toutes les versions du système d’exploitation. Une fois que vous avez sélectionné une chaîne à cet effet, vous ne devez pas la modifier.

Par convention, la chaîne d’emplacement prend la forme ServiceName(BusSpecificLocation). Par exemple, les appareils PCI utilisent PCI(XXYY), où XX est le numéro d’appareil, et YY est le numéro de fonction.

La routine PnpGetLocationString appelle une routine telle que ExAllocatePoolWithTag pour allouer la mémoire de la chaîne d’emplacement. L’appelant est chargé d’appeler la routine ExFreePool pour libérer la mémoire pointée par LocationStrings lorsque la chaîne d’emplacement n’est plus nécessaire.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Server 2003.
plateforme cible Bureau
d’en-tête ntddk.h (include Ntddk.h, Ntifs.h)
IRQL <= PASSIVE_LEVEL

Voir aussi

ExAllocatePoolWithTag

ExFreePool

PNP_LOCATION_INTERFACE