IoOpenDeviceRegistryKey 함수(wdm.h)
IoOpenDeviceRegistryKey 루틴은 특정 디바이스 인스턴스의 레지스트리 상태 위치에 대한 핸들을 반환합니다.
구문
NTSTATUS IoOpenDeviceRegistryKey(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG DevInstKeyType,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE DeviceRegKey
);
매개 변수
[in] DeviceObject
레지스트리 상태 위치를 열 디바이스 인스턴스의 실제 디바이스 개체(PDO) 에 대한 포인터입니다.
[in] DevInstKeyType
디바이스별 하드웨어 키 또는 드라이버 관련 소프트웨어 키를 열지 여부를 나타내는 플래그를 지정합니다. 플래그는 키가 현재 하드웨어 프로필에 상대적인지 여부도 나타냅니다. 하드웨어 및 소프트웨어 키에 대한 자세한 내용은 드라이버용 레지스트리 키 소개를 참조하세요.
플래그는 다음과 같이 정의됩니다.
PLUGPLAY_REGKEY_DEVICE
디바이스에 대한 정보가 포함된 디바이스별 레지스트리 상태 위치인 디바이스의 하드웨어 키를 엽니다. 이 플래그는 PLUGPLAY_REGKEY_DRIVER 사용하여 지정할 수 없습니다.
PLUGPLAY_REGKEY_DRIVER
드라이버 관련 정보를 저장하기 위한 디바이스별 레지스트리 상태 위치인 디바이스의 소프트웨어 키를 엽니다. 이 플래그는 PLUGPLAY_REGKEY_DEVICE 사용하여 지정할 수 없습니다.
PLUGPLAY_REGKEY_CURRENT_HWPROFILE
참고: 하드웨어 프로필은 더 이상 사용되지 않으며 하드웨어 프로필을 기준으로 상태를 저장해서는 안 됩니다.
디바이스 또는 드라이버 정보에 대한 현재 하드웨어 프로필을 기준으로 키를 엽니다. 이렇게 하면 드라이버가 하드웨어 프로필 관련 구성 정보에 액세스할 수 있습니다. 호출자는 이 플래그를 사용하여 PLUGPLAY_REGKEY_DEVICE 또는 PLUGPLAY_REGKEY_DRIVER 지정해야 합니다.
[in] DesiredAccess
호출자가 키에 필요한 액세스를 나타내는 ACCESS_MASK 값을 지정합니다. 각 KEY_ XXX 액세스 권한에 대한 설명은 ZwCreateKey 루틴을 참조하세요.
[out] DeviceRegKey
성공적으로 반환할 때 요청된 레지스트리 상태 위치에 대한 핸들을 포함하는 호출자 할당 버퍼에 대한 포인터입니다.
반환 값
IoOpenDeviceRegistryKey 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.
| 반환 코드 | 설명 |
|---|---|
|
호출자가 DevInstKeyType 플래그의 잘못된 집합을 지정했거나 유효한 PDO가 아닌 DeviceObject 를 제공했음을 나타냅니다. |
설명
더 이상 액세스가 필요하지 않은 경우 드라이버는 ZwClose 를 호출하여 이 루틴에서 반환된 핸들을 닫아야 합니다.
이 루틴에서 연 레지스트리 키는 비휘발성 키입니다.
사용자 모드 설정 애플리케이션은 CM_Open_DevNode_Key 또는 SetupDiOpenDevRegKey 또는 SetupDiCreateDevRegKey와 같은 디바이스 정보 함수를 사용하여 이러한 레지스트리 키에 액세스할 수 있습니다.
드라이버 패키지 설치 시 이러한 레지스트리 상태 위치의 상태를 미리 채우려면 INF 파일에서 INF AddReg 지시문을 사용합니다.
IoOpenDeviceRegistryKey 의 호출자는 시스템 스레드의 컨텍스트에서 IRQL = PASSIVE_LEVEL 실행되어야 합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
| 라이브러리 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | PASSIVE_LEVEL(주의 섹션 참조) |
| DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기