funzione CM_Get_Device_ID_ListW (cfgmgr32.h)
La funzione CM_Get_Device_ID_List recupera un elenco di ID dell'istanza del dispositivo per le istanze del dispositivo del computer locale.
Sintassi
CMAPI CONFIGRET CM_Get_Device_ID_ListW(
[in, optional] PCWSTR pszFilter,
[out] PZZWSTR Buffer,
[in] ULONG BufferLen,
[in] ULONG ulFlags
);
Parametri
[in, optional] pszFilter
Puntatore fornito dal chiamante a una stringa di caratteri impostata su un subset degli identificatori di istanza del dispositivo del computer o su NULL. Vedere la descrizione seguente di ulFlags.
[out] Buffer
Indirizzo di un buffer per ricevere un set di stringhe di identificatori di istanza del dispositivo con terminazione NULL. La fine del set viene terminata da un NULL aggiuntivo. Le dimensioni del buffer necessarie devono essere ottenute chiamando CM_Get_Device_ID_List_Size.
[in] BufferLen
Lunghezza fornita dal chiamante, in caratteri, del buffer specificato da Buffer.
[in] ulFlags
Uno dei flag di bit forniti dal chiamante seguente che specifica i filtri di ricerca:
CM_GETIDLIST_FILTER_BUSRELATIONS
Se questo flag è impostato, pszFilter deve specificare un identificatore di istanza del dispositivo. La funzione restituisce gli ID istanza del dispositivo per le relazioni tra bus dell'istanza del dispositivo specificata.
CM_GETIDLIST_FILTER_CLASS (Windows 7 e versioni successive di Windows)
Se questo flag è impostato, pszFilter contiene una stringa che specifica una classe di installazione del dispositivo GUID. L'elenco restituito contiene istanze del dispositivo per le quali la proprietà (a cui fa riferimento la costante CM_DRP_CLASSGUID) corrisponde al GUID della classe di installazione del dispositivo specificata.
La costante CM_DRP_CLASSGUID è definita in Cfgmgr32.h.
CM_GETIDLIST_FILTER_PRESENT (Windows 7 e versioni successive di Windows)
Se questo flag è impostato, l'elenco restituito contiene solo le istanze del dispositivo attualmente presenti nel sistema. Questo valore può essere combinato con altri valori ulFlags, ad esempio CM_GETIDLIST_FILTER_CLASS.
CM_GETIDLIST_FILTER_TRANSPORTRELATIONS (Windows 7 e versioni successive di Windows)
Se questo flag è impostato, pszFilter deve specificare l'identificatore dell'istanza del dispositivo di un nodo del dispositivo composito (devnode).
La funzione restituisce gli identificatori dell'istanza del dispositivo degli elementi devnodes che rappresentano le relazioni di trasporto del nodo devnode composito specificato.
Per altre informazioni sugli elementi di sviluppo compositi e sulle relazioni di trasporto, vedere la sezione osservazioni seguenti.
CM_GETIDLIST_DONOTGENERATE
Usato solo con CM_GETIDLIST_FILTER_SERVICE. Se impostato e se l'albero del dispositivo non contiene un nodo devnode per il servizio specificato, questo flag impedisce alla funzione di creare un nodo devnode per il servizio.
CM_GETIDLIST_FILTER_EJECTRELATIONS
Se questo flag è impostato, pszFilter deve specificare un identificatore di istanza del dispositivo. La funzione restituisce gli ID dell'istanza del dispositivo per le relazioni di ejection dell'istanza del dispositivo specificata.
CM_GETIDLIST_FILTER_ENUMERATOR
Se questo flag è impostato, pszFilter deve specificare il nome di un enumeratore di dispositivi, seguito facoltativamente da un ID dispositivo . Il formato stringa è EnumeratorName\<DeviceID>, ad esempio ROOT o ROOT\*PNP0500.
Se pszFilter fornisce solo un nome enumeratore, la funzione restituisce ID istanza del dispositivo per le istanze di ogni dispositivo associato all'enumeratore. I nomi degli enumeratori possono essere ottenuti chiamando CM_Enumerate_Enumerators.
Se pszFilter fornisce sia un enumeratore che un ID dispositivo , la funzione restituisce ID istanza del dispositivo solo per le istanze del dispositivo specificato associato all'enumeratore.
CM_GETIDLIST_FILTER_NONE
Se questo flag è impostato, pszFilter viene ignorato e viene restituito un elenco di tutti i dispositivi nel sistema.
CM_GETIDLIST_FILTER_POWERRELATIONS
Se questo flag è impostato, pszFilter deve specificare un identificatore di istanza del dispositivo. La funzione restituisce gli ID istanza del dispositivo per le relazioni di alimentazione dell'istanza del dispositivo specificata.
CM_GETIDLIST_FILTER_REMOVALRELATIONS
Se questo flag è impostato, pszFilter deve specificare un identificatore di istanza del dispositivo. La funzione restituisce gli ID istanza del dispositivo per le relazioni di rimozione dell'istanza del dispositivo specificata.
CM_GETIDLIST_FILTER_SERVICE
Se questo flag è impostato, pszFilter deve specificare il nome di un servizio Microsoft Windows (in genere un driver). La funzione restituisce gli ID istanza del dispositivo per le istanze del dispositivo controllate dal servizio specificato.
Si noti che se l'albero del dispositivo non contiene un devnode per il servizio specificato, questa funzione ne crea una per impostazione predefinita. Per inibire questo comportamento, impostare anche CM_GETIDLIST_DONOTGENERATE.
Se non viene specificato alcun flag di filtro di ricerca, la funzione restituisce tutti gli ID istanza del dispositivo per tutte le istanze del dispositivo.
Valore restituito
Se l'operazione ha esito positivo, la funzione restituisce CR_SUCCESS. In caso contrario, restituisce uno dei codici di errore con prefisso CR_ definiti in Cfgmgr32.h.
Osservazioni
A partire da Windows 7, un dispositivo che supporta più percorsi di trasporto per i dati basati su pacchetti viene definito dispositivo composito ed è rappresentato da un composito devnode. Un devnode composito rappresenta logicamente il dispositivo composito per l'utente e le applicazioni come singolo dispositivo, anche se il nodo devnode composito può avere più percorsi per il dispositivo fisico.
Ogni percorso di trasporto attivo per il dispositivo fisico è rappresentato da un nodo devnode di trasporto e viene definito relazione di trasporto per il dispositivo composito.
Il devnode composito (ma non gli sviluppatori di trasporto correlati) espone le interfacce del dispositivo alle applicazioni e al sistema. Quando un'applicazione usa queste interfacce di dispositivo pubblico, il dispositivo composito indirizza i dati basati su pacchetti a uno o più di questi devnodes di trasporto, che quindi trasportano i dati nel dispositivo fisico.
Ad esempio, se un telefono cellulare fisico è connesso contemporaneamente al computer su USB e gli autobus Bluetooth, ogni bus enumera un nodo devnode di trasporto figlio su tale bus per rappresentare la connessione fisica del dispositivo.
In questo caso, se si impostano i flag di CM_GETIDLIST_FILTER_TRANSPORTRELATIONS in
Per altre informazioni sugli ID istanza del dispositivo, vedere stringhe di identificazione del dispositivo.
Nota
L'intestazione cfgmgr32.h definisce CM_Get_Device_ID_List come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Microsoft Windows 2000 e versioni successive di Windows. |
piattaforma di destinazione | Universale |
intestazione |
cfgmgr32.h (include Cfgmgr32.h) |
libreria |
Cfgmgr32.lib |
dll | CfgMgr32.dll |