Compartir a través de


función CM_Reenumerate_DevNode (cfgmgr32.h)

La función CM_Reenumerate_DevNode enumera los dispositivos identificados por un nodo de dispositivo especificado y todos sus elementos secundarios.

Sintaxis

CMAPI CONFIGRET CM_Reenumerate_DevNode(
  [in] DEVINST dnDevInst,
  [in] ULONG   ulFlags
);

Parámetros

[in] dnDevInst

Identificador de instancia de dispositivo proporcionado por el autor de la llamada que está enlazado al equipo local.

[in] ulFlags

Marcas proporcionadas por el autor de la llamada que especifican cómo debe producirse la reenumeración. Este parámetro se puede establecer en una combinación de las marcas siguientes, como se indica:

CM_REENUMERATE_ASYNCHRONOUS

La reenumeración debe producirse de forma asincrónica. La llamada a esta función devuelve inmediatamente después de que el administrador de PnP reciba la solicitud de reenumeración. Si se establece esta marca, no se debe establecer también la marca de CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_NORMAL

Especifica el comportamiento predeterminado de la reenumeración, en el que la reenumeración se produce de forma sincrónica. Esta marca es funcionalmente equivalente a CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Especifica que Plug and Play debe realizar otro intento de instalar cualquier dispositivo en el subárbol especificado que se detectó, pero que aún no están configurados, o que se marcan como necesidad de reinstalación o para los que se debe completar la instalación. Esta marca se puede establecer junto con la marca CM_REENUMERATE_SYNCHRONOUS o la marca CM_REENUMERATE_ASYNCHRONOUS.

Esta marca debe usarse con extrema precaución, ya que puede hacer que el administrador de PnP pida al usuario que realice la instalación de dichos dispositivos. Actualmente, solo los componentes como Administrador de dispositivos y el Asistente para hardware usan esta marca, para permitir que el usuario vuelva a intentar la instalación de dispositivos que ya se hayan detectado, pero que no estén instalados actualmente.

CM_REENUMERATE_SYNCHRONOUS

La reenumeración debe producirse de forma sincrónica. La llamada a esta función devuelve cuando se han vuelto aumerar todos los dispositivos del subárbol especificado. Si se establece esta marca, no se debe establecer también la marca CM_REENUMERATE_ASYNCHRONOUS. Esta marca es funcionalmente equivalente a CM_REENUMERATE_NORMAL.

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.

Comentarios

Si el nodo de dispositivo especificado representa un dispositivo de bus de hardware o software, el administrador de PnP consulta los controladores del dispositivo para obtener una lista de elementos secundarios, intenta configurar e iniciar los dispositivos secundarios que no se hayan configurado previamente. El administrador de PnP también inicia la eliminación sorpresa de los dispositivos que ya no están presentes (consulte IRP_MN_SURPRISE_REMOVAL).

Los autores de llamadas de esta función deben tener SeLoadDriverPrivilege. (Los privilegios se describen en la documentación de Microsoft Windows SDK).

Para obtener información sobre el uso de identificadores de instancia de dispositivo enlazados a la máquina local, consulte CM_Get_Child.

Requisitos

   
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado cfgmgr32.h (incluya Cfgmgr32.h)
Library Cfgmgr32.lib
Archivo DLL Cfgmgr32.dll

Consulte también

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL