다음을 통해 공유


IoWMIRegistrationControl 함수(wdm.h)

IoWMIRegistrationControl 루틴은 지정된 디바이스 개체에 대한 WMI 데이터 공급자로 호출자를 등록하거나 등록을 취소합니다.

통사론

NTSTATUS IoWMIRegistrationControl(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] ULONG          Action
);

매개 변수

[in] DeviceObject

디바이스 개체에 대한 포인터입니다. 이 개체는 DEVICE_OBJECT 시스템 구조입니다.

[in] Action

WMI에서 수행해야 하는 작업입니다. 요청된 작업은 다음 값 중 하나로 표시됩니다.

작업 값 의미
WMIREG_ACTION_REGISTER DeviceObject대한 WMI 공급자로 호출자를 등록하도록 지정합니다. 이로 인해 WMI는 드라이버에 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 보냅니다.
WMIREG_ACTION_DEREGISTER DeviceObject대한 WMI 공급자 목록에서 호출자를 제거하도록 지정합니다.
WMIREG_ACTION_REREGISTER WMI가 드라이버의 등록을 취소한 다음 드라이버를 등록(다시 등록)되도록 지정합니다. 드라이버를 다시 등록하면 WMI에서 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 드라이버로 보냅니다.
WMIREG_ACTION_UPDATE_GUIDS WMI가 데이터를 제공하는 새 GUID 식별자 목록에 대해 드라이버를 다시 쿼리해야 되도록 지정합니다. 이로 인해 WMI는 드라이버에 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 보냅니다.

반환 값

IoWMIRegistrationControl 다음 목록에서 상태 코드를 반환합니다.

반환 코드 묘사
STATUS_SUCCESS
WMI가 오류 없이 요청된 작업을 완료했음을 나타냅니다.
STATUS_INVALID_PARAMETER
작업지정된 작업이 잘못되었음을 나타냅니다.
XXX STATUS_
NTSTATUS 값으로 지정된 이유로 요청이 실패했음을 나타냅니다. 실제 상태 반환 코드에 대한 자세한 내용은 Ntstatus.h를 참조하세요.

발언

드라이버가 IoWMIRegistrationControl호출한 후 WMI는 드라이버가 WMI에 정보를 제공할 수 있도록 드라이버에 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 보냅니다. 자세한 내용은 WMI 데이터 공급자등록을 참조하세요.

호출자가 작업대한 WMIREG_ACTION_DEREGISTER 지정하는 경우 IoWMIRegistrationControl 이전에 지정된 디바이스 개체로 전송된 모든 IRP_MJ_SYSTEM_CONTROL 요청이 완료될 때까지 호출 스레드가 차단됩니다. 이 경우 드라이버가 IRP_MJ_SYSTEM_CONTROL 요청에 대한 디스패치 루틴 내에서 IoWMIRegistrationControl 호출하면 호출 스레드가 교착 상태가 됩니다.

디바이스가 갑자기 제거되면(예: 깜짝 제거 시) PnP 관리자가 IRP_MN_SURPRISE_REMOVAL IRP를 보내도록 하는 경우 드라이버는 IoWMIRegistrationControl 호출하고 호출의 Action WMIREG_ACTION_DEREGISTER 지정해야 합니다. 드라이버가 IRP_MN_SURPRISE_REMOVAL IRP에 대한 응답으로 Action WMIREG_ACTION_DEREGISTER 설정하여 IoWMIRegistrationControl 호출하는 경우 드라이버는 IRP_MN_REMOVE_DEVICE IRP에 대한 응답으로 IoWMIRegistrationControl 동일한 호출을 수행해서는 안 됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), LowerDriverReturn(wdm), PowerIrpDDis(wdm)

참고 항목

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

IRP_MN_REMOVE_DEVICE

IRP_MN_SURPRISE_REMOVAL