Compartilhar via


Função CM_Reenumerate_DevNode (cfgmgr32.h)

A função CM_Reenumerate_DevNode enumera os dispositivos identificados por um nó de dispositivo especificado e todos os seus filhos.

Sintaxe

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

Parâmetros

[in] dnDevInst

Identificador de instância de dispositivo fornecido pelo chamador associado ao computador local.

[in] ulFlags

Sinalizadores fornecidos pelo chamador que especificam como a reenumeração deve ocorrer. Esse parâmetro pode ser definido como uma combinação dos seguintes sinalizadores, conforme observado:

CM_REENUMERATE_ASYNCHRONOUS

A reenumeração deve ocorrer de forma assíncrona. A chamada para essa função retorna imediatamente após o gerenciador PnP receber a solicitação de reenumeração. Se esse sinalizador estiver definido, o sinalizador CM_REENUMERATE_SYNCHRONOUS também não deverá ser definido.

CM_REENUMERATE_NORMAL

Especifica o comportamento de reenumeração padrão, no qual a reenumeração ocorre de forma síncrona. Esse sinalizador é funcionalmente equivalente a CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Especifica que o Plug and Play deve fazer outra tentativa de instalar todos os dispositivos na subárvore especificada que foram detectados, mas ainda não estão configurados, ou estão marcados como precisando de reinstalação ou para os quais a instalação deve ser concluída. Esse sinalizador pode ser definido junto com o sinalizador CM_REENUMERATE_SYNCHRONOUS ou o sinalizador CM_REENUMERATE_ASYNCHRONOUS.

Esse sinalizador deve ser usado com extrema cautela, pois pode fazer com que o gerenciador PnP solicite que o usuário execute a instalação de tais dispositivos. Atualmente, somente componentes como Gerenciador de Dispositivos e Assistente de Hardware usam esse sinalizador, para permitir que o usuário repita a instalação de dispositivos que podem já ter sido detectados, mas que não estão instalados no momento.

CM_REENUMERATE_SYNCHRONOUS

A reenumeração deve ocorrer de forma síncrona. A chamada para essa função retorna quando todos os dispositivos na subárvore especificada foram reenumerados. Se esse sinalizador estiver definido, o sinalizador CM_REENUMERATE_ASYNCHRONOUS também não deverá ser definido. Esse sinalizador é funcionalmente equivalente a CM_REENUMERATE_NORMAL.

Valor retornado

Se a operação for bem-sucedida, a função retornará CR_SUCCESS. Caso contrário, ele retornará um dos códigos de erro prefixados por CR_ definidos em Cfgmgr32.h.

Comentários

Se o nó do dispositivo especificado representar um dispositivo de barramento de hardware ou software, o gerenciador PnP consultará os drivers do dispositivo para obter uma lista de filhos e tentará configurar e iniciar todos os dispositivos filho que não foram configurados anteriormente. O gerenciador PnP também inicia a remoção surpresa de dispositivos que não estão mais presentes (consulte IRP_MN_SURPRISE_REMOVAL).

Os chamadores dessa função devem ter SeLoadDriverPrivilege. (Os privilégios são descritos na documentação do SDK do Microsoft Windows.)

Para obter informações sobre como usar identificadores de instância de dispositivo associados ao computador local, consulte CM_Get_Child.

Requisitos

   
Cliente mínimo com suporte Disponível no Microsoft Windows 2000 e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho cfgmgr32.h (inclua Cfgmgr32.h)
Biblioteca Cfgmgr32.lib
DLL Cfgmgr32.dll

Confira também

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL