SetupDiOpenDeviceInfoA 함수(setupapi.h)
SetupDiOpenDeviceInfo 함수는 디바이스 정보 집합에 아직 없는 경우 디바이스 instance 디바이스 정보 집합에 디바이스 정보 요소를 추가하고 디바이스 정보 집합에서 디바이스 instance 디바이스 정보 요소를 식별하는 정보를 검색합니다.
구문
WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
[in] HDEVINFO DeviceInfoSet,
[in] PCSTR DeviceInstanceId,
[in, optional] HWND hwndParent,
[in] DWORD OpenFlags,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
매개 변수
[in] DeviceInfoSet
SetupDiOpenDeviceInfo가 DeviceInstanceId로 지정된 디바이스 instance 대한 디바이스 정보 요소를 추가하는 디바이스 정보 집합에 대한 핸들입니다.
[in] DeviceInstanceId
디바이스 instance 디바이스 식별자를 제공하는 NULL로 끝나는 문자열에 대한 포인터입니다(예: "Root*PNP0500\0000"). DeviceInstanceId가 NULL이거나 길이가 0인 문자열을 참조하는 경우 SetupDiOpenDeviceInfo는 디바이스 트리의 루트 디바이스에 대해 제공된 디바이스 정보 집합에 디바이스 정보 요소를 추가합니다.
[in, optional] hwndParent
디바이스 설치와 관련된 모든 사용자 인터페이스에 사용할 최상위 창에 대한 핸들입니다.
[in] OpenFlags
디바이스 정보 요소가 열리는 방법을 제어하는 DWORD 유형의 변수입니다. 이 매개 변수의 값은 다음 중 하나 이상일 수 있습니다.
DIOD_CANCEL_REMOVE
이 플래그를 지정하고 디바이스가 제거 보류 중으로 표시된 경우 운영 체제는 보류 중인 제거를 취소합니다.
DIOD_INHERIT_CLASSDRVS
이 플래그를 지정하면 결과 디바이스 정보 요소는 디바이스 정보 집합과 연결된 클래스 드라이버 목록(있는 경우)을 상속합니다. 또한 디바이스 정보 집합에 대해 선택한 드라이버가 있는 경우 새 디바이스 정보 요소에 대해 동일한 드라이버가 선택됩니다.
디바이스 정보 요소가 이미 있는 경우 클래스 드라이버 목록(있는 경우)이 상속된 목록으로 대체됩니다.
[out, optional] DeviceInfoData
DeviceInstanceId로 지정된 디바이스 instance 디바이스 정보 요소에 대한 정보를 수신하는 호출자가 제공한 SP_DEVINFO_DATA 구조체에 대한 포인터입니다. 호출자는 cbSize 를 sizeof(SP_DEVINFO_DATA)로 설정해야 합니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
SetupDiOpenDeviceInfo 는 성공하면 TRUE 를 반환합니다. 그렇지 않으면 함수는 FALSE 를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.
설명
이 디바이스 instance 연결된 클래스가 있는 집합에 추가되는 경우 디바이스 클래스는 동일해야 합니다. 그렇지 않으면 호출이 실패합니다. 이 경우 GetLastError 를 호출하면 ERROR_CLASS_MISMATCH 반환됩니다.
새 디바이스 정보 요소가 성공적으로 열렸지만 호출자가 제공한 DeviceInfoData 버퍼가 잘못된 경우 이 함수는 FALSE를 반환합니다. 이 경우 GetLastError 호출은 ERROR_INVALID_USER_BUFFER 반환합니다. 그러나 디바이스 정보 요소는 어쨌든 집합의 새 멤버로 추가됩니다.
참고
setupapi.h 헤더는 SETUPDiOpenDeviceInfo를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | setupapi.h(Setupapi.h 포함) |
라이브러리 | Setupapi.lib |