IoWMISetSingleInstance 함수(wdm.h)

IoWMISetSingleInstance 루틴은 지정된 WMI 클래스 및 instance 이름과 일치하는 데이터 블록 instance 내의 속성 값을 설정합니다.

구문

NTSTATUS IoWMISetSingleInstance(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

매개 변수

[in] DataBlockObject

WMI 데이터 블록 개체에 대한 포인터입니다. 호출자는 IoWMIOpenBlock 루틴을 사용하여 WMI 클래스에 대한 데이터 블록 개체를 엽니다. 개체는 WMIGUID_SET 액세스 권한으로 열어야 합니다.

[in] InstanceName

데이터 블록의 instance 이름을 지정합니다. 이 값은 블록의 InstanceName 속성 값에 해당합니다.

[in] Version

다음에 사용하도록 예약됩니다. 호출자는 이 매개 변수를 0으로 설정해야 합니다.

[in] ValueBufferSize

ValueBuffer 매개 변수에 전달된 버퍼의 크기(바이트)를 지정합니다.

[in] ValueBuffer

데이터 블록 내의 속성에 대한 새 값을 포함하는 버퍼에 대한 포인터입니다.

반환 값

루틴은 NTSTATUS 코드를 반환합니다. 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_SUCCESS
작업에 성공했습니다. WMI 데이터 블록 instance 속성의 값은 ValueBuffer 매개 변수가 가리키는 버퍼의 내용으로 업데이트됩니다.
STATUS_WMI_GUID_NOT_FOUND
WMI 클래스를 구현하는 드라이버가 없습니다.
STATUS_WMI_INSTANCE_NOT_FOUND
InstanceName 속성이 InstanceName 매개 변수에 지정된 값과 같은 WMI 클래스의 instance 구현하는 드라이버는 없습니다.
STATUS_WMI_READ_ONLY
WMI 클래스의 모든 속성은 읽기 전용입니다.
STATUS_WMI_SET_FAILURE
WMI 데이터 블록 instance 구현하는 드라이버는 instance 업데이트할 수 없습니다.

설명

IoWMISetSingleInstance는 지정된 WMI 클래스 및 instance 이름을 지원할 수 있는 드라이버를 결정하고 이러한 각 드라이버에 IRP_MN_CHANGE_SINGLE_INSTANCE 요청을 실행합니다. InstanceName 속성이 일치하는 데이터 블록을 instance 내보내는 드라이버는 데이터 블록 instance 업데이트합니다. 데이터 블록에는 읽기 전용 및 읽기/쓰기 속성이 모두 있을 수 있습니다. 이 경우 읽기/쓰기 속성만 업데이트되고 STATUS_SUCCESS 반환됩니다.

드라이버는 IoWMISetSingleItem 루틴을 사용하여 클래스 instance 내의 단일 속성을 업데이트할 수도 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

추가 정보

IRP_MN_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem