다음을 통해 공유


IoOpenDeviceInterfaceRegistryKey 함수(wdm.h)

IoOpenDeviceInterfaceRegistryKey 루틴은 특정 디바이스 인터페이스 instance 대한 정보를 저장하기 위한 레지스트리 키에 대한 핸들을 반환합니다.

구문

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  ACCESS_MASK     DesiredAccess,
  [out] PHANDLE         DeviceInterfaceRegKey
);

매개 변수

[in] SymbolicLinkName

디바이스 인터페이스 instance 식별하는 문자열에 대한 포인터입니다. 이 문자열은 IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias 또는 IoRegisterDeviceInterface에 대한 이전 호출에서 가져옵니다.

[in] DesiredAccess

호출자가 키에 필요한 액세스(예: KEY_READ , KEY_WRITE 또는 KEY_ALL_ACCESS)를 나타내는 ACCESS_MASK 값을 지정합니다. 각 KEY_XXX 액세스 권한에 대한 설명은 ZwCreateKey를 참조하세요.

[out] DeviceInterfaceRegKey

호출이 성공한 경우 요청된 레지스트리 키에 대한 반환된 핸들에 대한 포인터입니다.

반환 값

IoOpenDeviceInterfaceRegistryKey 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_OBJECT_NAME_NOT_FOUND
이 루틴은 SymbolicLinkName의 오류로 인해 instance 디바이스 인터페이스에 대한 레지스트리 키를 찾을 수 없습니다.
STATUS_OBJECT_PATH_NOT_FOUND
이 루틴은 SymbolicLinkName의 오류로 인해 instance 디바이스 인터페이스에 대한 레지스트리 키를 찾을 수 없습니다.
STATUS_INVALID_PARAMETER
SymbolicLinkName에 오류가 표시될 수 있습니다.

설명

IoOpenDeviceInterfaceRegistryKeySymbolicLinkName으로 지정된 디바이스 인터페이스 instance 대한 레지스트리 키의 비휘발성 하위 키를 엽니다. 드라이버는 이 하위 키에 카메라의 기본 해상도와 같은 디바이스 인터페이스의 이 instance 관련된 정보를 저장할 수 있습니다. 사용자 모드 애플리케이션은 SetupDiXxx 루틴을 사용하여 이 하위 키에 액세스할 수 있습니다.

드라이버는 ZwClose 를 호출하여 액세스가 더 이상 필요하지 않은 경우 이 루틴에서 반환된 핸들을 닫아야 합니다.

IoOpenDeviceInterfaceRegistryKey의 호출자는 시스템 스레드의 컨텍스트에서 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)

추가 정보

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose