función CM_Get_Device_ID_ListW (cfgmgr32.h)
La función CM_Get_Device_ID_List recupera una lista de identificadores de instancia de dispositivo para las instancias de dispositivo del equipo local.
Sintaxis
CMAPI CONFIGRET CM_Get_Device_ID_ListW(
[in, optional] PCWSTR pszFilter,
[out] PZZWSTR Buffer,
[in] ULONG BufferLen,
[in] ULONG ulFlags
);
Parámetros
[in, optional] pszFilter
Puntero proporcionado por el autor de la llamada a una cadena de caracteres que se establece en un subconjunto de identificadores de instancia de dispositivo (ID) del equipo o para NULL. Consulte la siguiente descripción de ulFlags.
[out] Buffer
Dirección de un búfer para recibir un conjunto de cadenas de identificador de instancia de dispositivo terminadas en NULL. El final del conjunto finaliza mediante un NULL adicional. El tamaño de búfer necesario debe obtenerse llamando a CM_Get_Device_ID_List_Size.
[in] BufferLen
Longitud proporcionada por el autor de la llamada, en caracteres, del búfer especificado por Búfer.
[in] ulFlags
Una de las siguientes marcas de bits proporcionadas por el autor de la llamada que especifica filtros de búsqueda:
CM_GETIDLIST_FILTER_BUSRELATIONS
Si se establece esta marca, pszFilter debe especificar un identificador de instancia de dispositivo. La función devuelve identificadores de instancia de dispositivo para las relaciones de bus de de la instancia de dispositivo especificada.
CM_GETIDLIST_FILTER_CLASS (Windows 7 y versiones posteriores de Windows)
Si se establece esta marca, pszFilter contiene una cadena que especifica una clase de configuración de dispositivo GUID. La lista devuelta contiene instancias de dispositivo para las que la propiedad (a la que hace referencia la constante CM_DRP_CLASSGUID) coincide con el GUID de la clase de configuración de dispositivo especificada.
La constante CM_DRP_CLASSGUID se define en cfgmgr32.h.
CM_GETIDLIST_FILTER_PRESENT (Windows 7 y versiones posteriores de Windows)
Si se establece esta marca, la lista devuelta solo contiene instancias de dispositivo que están presentes actualmente en el sistema. Este valor se puede combinar con otros valores de ulFlags, como CM_GETIDLIST_FILTER_CLASS.
CM_GETIDLIST_FILTER_TRANSPORTRELATIONS (Windows 7 y versiones posteriores de Windows)
Si se establece esta marca, pszFilter debe especificar el identificador de instancia de dispositivo de un nodo de dispositivo compuesto (devnode).
La función devuelve los identificadores de instancia de dispositivo de los nodos de desarrollo que representan las relaciones de transporte del nodo devnode compuesto especificado.
Para obtener más información sobre los devnodes compuestos y las relaciones de transporte, consulte la siguiente sección Comentarios.
CM_GETIDLIST_DONOTGENERATE
Solo se usa con CM_GETIDLIST_FILTER_SERVICE. Si se establece y si el árbol de dispositivos no contiene un nodo de desarrollo para el servicio especificado, esta marca impide que la función cree un nodo devnode para el servicio.
CM_GETIDLIST_FILTER_EJECTRELATIONS
Si se establece esta marca, pszFilter debe especificar un identificador de instancia de dispositivo. La función devuelve identificadores de instancia de dispositivo para las relaciones de ejección de de la instancia de dispositivo especificada.
CM_GETIDLIST_FILTER_ENUMERATOR
Si se establece esta marca, pszFilter debe especificar el nombre de un enumerador de dispositivos, opcionalmente seguido de un identificador de dispositivo . El formato de cadena es EnumeratorName\<DeviceID>, como ROOT o ROOT\*PNP0500.
Si pszFilter proporciona solo un nombre de enumerador, la función devuelve identificadores de instancia de dispositivo para las instancias de cada dispositivo asociado al enumerador. Los nombres del enumerador se pueden obtener llamando a CM_Enumerate_Enumerators.
Si pszFilter proporciona un enumerador y un identificador de dispositivo , la función devuelve identificadores de instancia de dispositivo solo para las instancias del dispositivo especificado asociado al enumerador.
CM_GETIDLIST_FILTER_NONE
Si se establece esta marca, se omite pszFilter y se devuelve una lista de todos los dispositivos del sistema.
CM_GETIDLIST_FILTER_POWERRELATIONS
Si se establece esta marca, pszFilter debe especificar un identificador de instancia de dispositivo. La función devuelve identificadores de instancia de dispositivo para las relaciones de potencia de la instancia de dispositivo especificada.
CM_GETIDLIST_FILTER_REMOVALRELATIONS
Si se establece esta marca, pszFilter debe especificar un identificador de instancia de dispositivo. La función devuelve identificadores de instancia de dispositivo para las relaciones de eliminación de la instancia de dispositivo especificada.
CM_GETIDLIST_FILTER_SERVICE
Si se establece esta marca, pszFilter debe especificar el nombre de un servicio de Microsoft Windows (normalmente un controlador). La función devuelve identificadores de instancia de dispositivo para las instancias de dispositivo controladas por el servicio especificado.
Tenga en cuenta que si el árbol de dispositivos no contiene un de
Si no se especifica ninguna marca de filtro de búsqueda, la función devuelve todos los identificadores de instancia de dispositivo para todas las instancias de dispositivo.
Valor devuelto
Si la operación se realiza correctamente, la función devuelve CR_SUCCESS. De lo contrario, devuelve uno de los códigos de error CR_ prefijo definidos en Cfgmgr32.h.
Observaciones
A partir de Windows 7, un dispositivo que admite varias rutas de transporte para los datos basados en paquetes se conoce como un dispositivo de compuesto y se representa mediante un compuesto devnode. Un nodo devnode compuesto representa lógicamente el dispositivo compuesto para el usuario y las aplicaciones como un único dispositivo, aunque el nodo devnode compuesto pueda tener varias rutas de acceso al dispositivo físico.
Cada ruta de acceso de transporte activa al dispositivo físico se representa mediante un nodo de desarrollo de transporte y se conoce como relación de transporte para el dispositivo compuesto.
El devnode compuesto (pero no los nodos de desarrollo de transporte relacionados) expone interfaces de dispositivo a aplicaciones y al sistema. Cuando una aplicación usa estas interfaces de dispositivo público, el dispositivo compuesto enruta los datos basados en paquetes a uno o varios de estos nodos de desarrollo de transporte, que luego transporta los datos al dispositivo físico.
Por ejemplo, si un teléfono móvil físico está conectado simultáneamente al equipo en el USB y los autobuses Bluetooth, cada bus enumera un nodo de desarrollo de transporte secundario en ese bus para representar la conexión física del dispositivo.
En este caso, si establece las marcas de CM_GETIDLIST_FILTER_TRANSPORTRELATIONS en
Para obtener más información sobre los identificadores de instancia de dispositivo, consulte cadenas de identificación de dispositivos.
Nota
El encabezado cfgmgr32.h define CM_Get_Device_ID_List como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Microsoft Windows 2000 y versiones posteriores de Windows. |
de la plataforma de destino de |
Universal |
encabezado de |
cfgmgr32.h (incluya Cfgmgr32.h) |
biblioteca de |
Cfgmgr32.lib |
DLL de |
CfgMgr32.dll |