Função CM_Reenumerate_DevNode_Ex (cfgmgr32.h)

[Começando com Windows 8 e Windows Server 2012, essa função foi preterida. Em vez disso, use CM_Reenumerate_DevNode .]

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

Sintaxe

CMAPI CONFIGRET CM_Reenumerate_DevNode_Ex(
  [in]           DEVINST  dnDevInst,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

Parâmetros

[in] dnDevInst

Identificador de instância de dispositivo fornecido pelo chamador associado ao identificador de computador fornecido por hMachine.

[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. No momento, esse sinalizador é equivalente a CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Especifica que Plug and Play deve fazer outra tentativa de instalar todos os dispositivos na subárvore especificada que foram detectados, mas que ainda não foram 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. No momento, esse sinalizador é equivalente a CM_REENUMERATE_NORMAL.

[in, optional] hMachine

Identificador de computador fornecido pelo chamador ao qual o identificador de instância do dispositivo fornecido pelo chamador está associado.

Nota Não há suporte para o uso dessa função para acessar computadores remotos, começando com Windows 8 e Windows Server 2012, pois essa funcionalidade foi removida.
 

Retornar valor

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 a um computador local ou remoto, consulte CM_Get_Child_Ex.

A funcionalidade para acessar computadores remotos foi removida em Windows 8 e Windows Server 2012 e sistemas operacionais posteriores, portanto, você não pode acessar computadores remotos durante a execução nessas versões do Windows.

Requisitos

Requisito Valor
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_Ex

CM_Reenumerate_DevNode