PGET_LOCATION_STRING funzione di callback (ntddk.h)
La routine PnpGetLocationString fornisce la parte specifica del dispositivo della proprietà SPDRP_LOCATION_PATHS del dispositivo.
Sintassi
PGET_LOCATION_STRING PgetLocationString;
NTSTATUS PgetLocationString(
[in, out] PVOID Context,
[out] PZZWSTR *LocationStrings
)
{...}
Parametri
[in, out] Context
Puntatore a informazioni di contesto specifiche dell'interfaccia. Il chiamante passa il valore passato come membro Context della struttura PNP_LOCATION_INTERFACE.
[out] LocationStrings
Puntatore a una sequenza di stringhe Unicode con terminazione Null, che viene terminata da un altro zero. Ogni stringa funge da stringa di posizione per il dispositivo. I driver in genere restituiscono una singola stringa.
Valore restituito
La routine restituisce un valore NTSTATUS per indicare lo stato dell'operazione.
Osservazioni
La struttura PNP_LOCATION_INTERFACE fornisce un puntatore alla routine PnpGetLocationString.
La routine PnpGetLocationString fornisce la parte specifica del dispositivo della stringa di posizione per il dispositivo. Il gestore Plug and Play (PnP) assembla la stringa di posizione per un dispositivo eseguendo una query sul driver per il dispositivo, sul bus del dispositivo e su qualsiasi bus padre e concatenando le stringhe fornite insieme.
La routine deve restituire una stringa univoca per il dispositivo rispetto al bus. La stringa deve essere la stessa per il dispositivo in tutte le versioni del sistema operativo. Dopo aver selezionato una stringa per questo scopo, non è necessario modificarla.
Per convenzione, la stringa di posizione assume il formato ServiceName(BusSpecificLocation). Ad esempio, i dispositivi PCI usano PCI(XXYY), dove XX è il numero di dispositivo e YY è il numero di funzione.
La routine PnpGetLocationString chiama una routine come ExAllocatePoolWithTag per allocare la memoria per la stringa di posizione. Il chiamante è responsabile della chiamata della routine exFreePool per liberare la memoria a cui punta LocationStrings quando la stringa di posizione non è più necessaria.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows Server 2003. |
piattaforma di destinazione | Desktop |
intestazione | ntddk.h (include Ntddk.h, Ntifs.h) |
IRQL | <= PASSIVE_LEVEL |