Share via


CM_Reenumerate_DevNode 함수(cfgmgr32.h)

CM_Reenumerate_DevNode 함수는 지정된 디바이스 노드와 모든 자식 노드로 식별된 디바이스를 열거합니다.

구문

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

매개 변수

[in] dnDevInst

호출자가 제공한 디바이스 instance 로컬 컴퓨터에 바인딩된 핸들입니다.

[in] ulFlags

다시 열거 방법을 지정하는 호출자 제공 플래그입니다. 이 매개 변수는 다음과 같은 플래그의 조합으로 설정할 수 있습니다.

CM_REENUMERATE_ASYNCHRONOUS

다시 열거형은 비동기적으로 발생해야 합니다. 이 함수에 대한 호출은 PnP 관리자가 다시 등록 요청을 받은 직후에 반환됩니다. 이 플래그가 설정되면 CM_REENUMERATE_SYNCHRONOUS 플래그도 설정해서는 안 됩니다.

CM_REENUMERATE_NORMAL

다시 열거가 동기적으로 발생하는 기본 다시 열거 동작을 지정합니다. 이 플래그는 기능적으로 CM_REENUMERATE_SYNCHRONOUS 동일합니다.

CM_REENUMERATE_RETRY_INSTALLATION

플러그 앤 플레이가 검색되었지만 아직 구성되지 않았거나 다시 설치가 필요한 것으로 표시되었거나 설치가 완료되어야 하는 지정된 하위 트리에 디바이스를 설치하도록 지정합니다. 이 플래그는 CM_REENUMERATE_SYNCHRONOUS 플래그 또는 CM_REENUMERATE_ASYNCHRONOUS 플래그와 함께 설정할 수 있습니다.

이 플래그는 PnP 관리자가 사용자에게 이러한 디바이스 설치를 수행하라는 메시지를 표시할 수 있으므로 매우 주의해서 사용해야 합니다. 현재는 디바이스 관리자 및 하드웨어 마법사와 같은 구성 요소만 이 플래그를 사용하여 사용자가 이미 검색되었지만 현재 설치되지 않은 디바이스의 설치를 다시 시도할 수 있도록 합니다.

CM_REENUMERATE_SYNCHRONOUS

다시 활성화는 동기적으로 발생해야 합니다. 지정된 하위 트리의 모든 디바이스가 다시 열거되면 이 함수에 대한 호출이 반환됩니다. 이 플래그를 설정하면 CM_REENUMERATE_ASYNCHRONOUS 플래그도 설정하면 안 됩니다. 이 플래그는 기능적으로 CM_REENUMERATE_NORMAL 동일합니다.

반환 값

작업이 성공하면 함수는 CR_SUCCESS 반환합니다. 그렇지 않으면 Cfgmgr32.h에 정의된 CR_ 접두사 오류 코드 중 하나를 반환합니다.

설명

지정된 디바이스 노드가 하드웨어 또는 소프트웨어 버스 디바이스를 나타내는 경우 PnP 관리자는 디바이스의 드라이버에 자식 목록을 쿼리한 다음 이전에 구성되지 않은 자식 디바이스를 구성하고 시작하려고 시도합니다. 또한 PnP 관리자는 더 이상 존재하지 않는 디바이스의 깜짝 제거를 시작합니다( IRP_MN_SURPRISE_REMOVAL 참조).

이 함수의 호출자에게 는 SeLoadDriverPrivilege가 있어야 합니다. 권한은 Microsoft Windows SDK 설명서에 설명되어 있습니다.

로컬 컴퓨터에 바인딩된 디바이스 instance 핸들을 사용하는 방법에 대한 자세한 내용은 CM_Get_Child 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 cfgmgr32.h(Cfgmgr32.h 포함)
라이브러리 Cfgmgr32.lib
DLL Cfgmgr32.dll

추가 정보

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL