WMIREGINFOW 구조체(wmistr.h)

WMIREGINFO 구조에는 드라이버가 데이터 블록 및 이벤트 블록을 등록하거나 업데이트하기 위해 제공하는 정보가 포함되어 있습니다.

구문

typedef struct {
  ULONG       BufferSize;
  ULONG       NextWmiRegInfo;
  ULONG       RegistryPath;
  ULONG       MofResourceName;
  ULONG       GuidCount;
  WMIREGGUIDW WmiRegGuid[];
} WMIREGINFOW, *PWMIREGINFOW;

멤버

BufferSize

(sizeof(WMIREGINFO) + (GuidCountsizeof(WMIREGGUID) + additionaldata)로 계산된 이 WMIREGINFO 구조와 연결된 WMI * 등록 데이터의 총 크기를 나타냅니다. 추가 데이터에는 MOF 리소스 이름, 레지스트리 경로 및 블록에 대한 정적 instance 이름과 같은 항목이 포함될 수 있습니다.

NextWmiRegInfo

드라이버가 다른 드라이버를 대신하여 WMI 요청을 처리하는 경우 클래스 드라이버가 미니클래스 드라이버를 대신할 수 있으므로 NextWmiRegInfo 는 이 WMIREGINFO 의 시작부터 다른 드라이버에 대한 WMI 등록 정보가 포함된 다음 WMIREGINFO 구조체까지 오프셋을 바이트 단위로 나타냅니다. 그렇지 않으면 NextWmiRegInfo 가 0입니다.

RegistryPath

이 구조체의 시작부터 드라이버의 DriverEntry 루틴에 전달된 레지스트리 경로를 지정하는 계산된 유니코드 문자열까지의 오프셋(바이트)을 나타냅니다. 문자열은 USHORT 경계에 맞춰야 합니다. 이 멤버는 WMI 등록 요청(IRP_MN_REGINFO 또는Parameters.WMI.DataPath가 WMIREGISTER로 설정된 IRP_MN_REGINFO_EX)에 대한 응답으로만 설정해야 합니다.

MofResourceName

이 구조체의 시작부터 드라이버 이미지 파일의 MOF 리소스 이름을 지정하는 계산된 유니코드 문자열까지의 오프셋(바이트)을 나타냅니다. 문자열은 USHORT 경계에 맞춰야 합니다. 이 멤버는 WMI 등록 요청(IRP_MN_REGINFO 또는Parameters.WMI.DataPath가 WMIREGISTER로 설정된 IRP_MN_REGINFO_EX)에 대한 응답으로만 설정해야 합니다.

GuidCount

WmiRegGuid의 배열에 있는 WMIREGGUID 구조체의 수를 나타냅니다.

WmiRegGuid

GuidCount WMIREGGUID 구조체의 배열입니다.

설명

Parameters.WMI.DataPath가 WMIREGISTER로 설정된 등록 요청(IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX)에 대한 응답으로 드라이버는 하나 이상의 WMIREGINFO 구조를 빌드하고 IrpStack-Parameters.WMI.Buffer>의 버퍼에 WMIREGINFO 구조를 씁니다. WMIREGINFO 구조체에는 드라이버가 노출하는 각 데이터 블록 또는 이벤트 블록에 하나씩 WMIREGGUID 구조체의 배열이 포함되어 있습니다.

드라이버가 다른 드라이버를 대신하여 WMI 요청을 처리하는 경우 다른 드라이버가 노출하는 각 블록에 대한 WMIREGGUID 구조 배열을 포함하는 다른 WMIREGINFO를 빌드하고, 첫 번째 WMIREGINFONextWmiRegInfo 멤버를 첫 번째 WMIREGINFO의 시작부터 버퍼의 다음 WMIREGINFO 시작까지 오프셋(바이트)으로 설정합니다. 및 는 두 구조를 모두 버퍼에 씁니다. 드라이버는 IoCompleteRequest를 호출하여 IRP를 완료할 때 WMIREGINFO 구조와 관련 데이터의 총 크기를 나타냅니다.

드라이버는 동일한 WMIREGINFO 구조를 사용하여 업데이트 요청에 대한 응답으로 블록을 제거하거나 업데이트할 수 있습니다(IRP_MN_REGINFO 또는 Parameters.WMI.DataPath가 WMIUPDATE로 설정된 IRP_MN_REGINFO_EX). WMIREG_FLAG_REMOVE_GUID WMIREGGUIDFlags 멤버에 설정된 경우 WMI는 드라이버에서 이전에 등록된 블록 목록에서 해당 블록을 제거합니다. WMIREG_FLAG_REMOVE_GUID 명확한 경우 WMI는 다른 WMIREGGUID 멤버가 변경된 경우에만 해당 블록에 대한 등록 정보를 업데이트합니다. 그렇지 않으면 WMI는 해당 블록에 대한 등록 정보로 변경되지 않습니다.

요구 사항

요구 사항
헤더 wmistr.h(Wmistr.h 포함)

추가 정보

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

IoCompleteRequest

WMIREGGUID