Partilhar via


função CM_Reenumerate_DevNode_Ex (cfgmgr32.h)

[A partir do Windows 8 e do 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 do computador fornecido pelo 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 de 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 o 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 juntamente 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 o Gerenciador de Dispositivos e o Assistente de Hardware usam esse sinalizador, para permitir que o usuário repita a instalação de dispositivos que já podem 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 do dispositivo especificado tiveram solicitações de reenumeração enviadas a eles e essas solicitações foram concluídas pela pilha de dispositivos. Isso não garante que os drivers nas pilhas de dispositivos desses dispositivos tenham verificado novamente o barramento e relatado atualizações. Ele também não garante que novos dispositivos relatados estejam no estado iniciado. 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.

[in, optional] hMachine

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

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

Valor de retorno

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.

Observações

Se o nó de 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, em seguida, 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). No entanto, os motoristas podem optar por atualizar as relações de barramento que estão relatando ao gerente PnP assíncrono da solicitação de reenumeração, de modo que a aparência de novos dispositivos e a remoção de dispositivos que não estão mais presentes podem não ser concluídas quando a operação de reenumeração for concluída.

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 nos sistemas operacionais Windows 8 e Windows Server 2012 e posteriores, portanto, você não pode acessar computadores remotos ao executar essas versões do Windows.

Requisitos

Requisito Valor
Cliente mínimo suportado Disponível no Microsoft Windows 2000 e versões posteriores do Windows.
da Plataforma de Destino Área de trabalho
cabeçalho cfgmgr32.h (inclua Cfgmgr32.h)
Biblioteca Cfgmgr32.lib
de DLL Cfgmgr32.dll

Consulte também

CM_Get_Child_Ex

CM_Reenumerate_DevNode