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 다음 목록에서 상태 코드를 반환합니다.
반환 코드 | 묘사 |
---|---|
|
WMI가 오류 없이 요청된 작업을 완료했음을 나타냅니다. |
|
작업지정된 작업이 잘못되었음을 나타냅니다. |
|
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) |