windows-nt/Source/XPSP1/NT/base/wmi/bmoflocparser/testdrv/test.mof
2020-09-26 16:20:57 +08:00

1245 lines
30 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1999 Microsoft Corporation
Module Name:
test.mof
Abstract:
Test mof used to validate the BMOF Loc parser. It includes the
following:
* Namespace changes
- at top of file
- in middle of file
* Classflag changes
* InstanceFlag changes
* Instance definitions
- All Data Types for properties
- Class qualifiers have all types
- Class has no qualifiers
- Property qualifiers of all types
- Property with no qualifiers
- Embedded classes
- arrays of embedded classes
- embedded classes within embedded classes
* Class definitions
- All Data Types for properties
- Class qualifiers have all types
- Class has no qualifiers
- Property qualifiers of all types
- Property with no qualifiers
- Derived classes
* Methods
- All data types as return type
- All data types as parameters
- void return type
- void parameters
- all qualifier types on parameters
- no qualifier on parameters
- no qualifier on method
- only IN params
- only OUT params
- only IN params & void return
- only OUT & void return
- only IN & non void return
* Qualifier flavors
* include pragma
* aliases
--*/
#pragma namespace("\\\\.\\root\\testit")
#pragma classflags("forceupdate", "updateonly")
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
class Embded
{
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
boolean Xboolean;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint8 Xuint8;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint16 Xuint16;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint32 Xuint32;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint64 Xuint64;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint8 Xint8;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint16 Xint16;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint32 Xint32;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint64 Xint64;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
datetime Xdatetime;
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
string Xstring;
};
class YY as $MyYY
{
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
Embed XX;
};
class noqual
{
boolean Xboolean;
uint8 Xuint8;
uint16 Xuint16;
uint32 Xuint32;
uint64 Xuint64;
sint8 Xint8;
sint16 Xint16;
sint32 Xint32;
sint64 Xint64;
datetime Xdatetime;
string Xstring;
YY XEmbed;
};
instance of Embed
{
Xboolean = "TRUE";
Xuint8 = 1;
Xuint16 = 2;
Xuint32 = 3;
Xuint64 = 4;
Xint8 = 5;
Xint16 = 6;
Xint32 = 7;
Xint64 = 8;
Xstring = "XYZZY";
};
#pragma instanceflags("updateonly")
class small
{
string str;
uint8 ii;
};
class esmall
{
[key] string xx;
small Smally;
};
#pragma instanceflags("createonly")
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
instance of esmall
{
xx = "A";
Smally = instance of small { xx = "xxxx"; ii = 33; };
};
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
instance of esmall
{
xx = "B";
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
Smally = instance of small { xx = "yyyy"; ii = 99; };
};
class xxxxx
{
[key] string sss;
esmall eee;
};
instance of xxxxx
{
sss = "foo";
eee = instance of esmall {
xx = "C";
Smally = instance of small {
xx = "rr";
ii = 22;};
};
};
class earr
{
uint8 arr[];
};
instance of earr
{
arr = { 1,2,3,4,5 };
};
class Caller
{
boolean Xboolean();
uint8 Xuint8();
uint16 Xuint16();
uint32 Xuint32();
uint64 Xuint64();
sint8 Xint8();
sint16 Xint16();
sint32 Xint32();
sint64 Xint64();
datetime Xdatetime();
string Xstring();
YY XEmbedX();
void Nothing();
void lots([in, out] boolean Xboolean,
[in, out] uint8 Xuint8,
[in, out] uint16 Xuint16,
[in, out] uint32 Xuint32,
[in, out] uint64 Xuint64,
[in, out] sint8 Xint8,
[in, out] sint16 Xint16,
[in, out] sint32 Xint32,
[in, out] sint64 Xint64,
[in, out] datetime Xdatetime,
[in, out] string Xstring,
[in, out] YY XEmbedX);
};
class Caller2
{
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
boolean Xboolean([in] uint8 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint8 Xuint8([in] uint16 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint16 Xuint16([in] uint32 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint32 Xuint32([in] uint64 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
uint64 Xuint64([in] sint8 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint8 Xint8([in] sint16 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint16 Xint16([in] sint32 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint32 Xint32([in] sint64 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
sint64 Xint64([in] datetime i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
datetime Xdatetime([in] string i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
string Xstring([in] YY i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
YY XEmbedX([in] boolean i);
boolean XbooleanX([out] uint8 i);
uint8 Xuint8X([out] uint16 i);
uint16 Xuint16X([out] uint32 i);
uint32 Xuint32X([out] uint64 i);
uint64 Xuint64X([out] sint8 i);
sint8 Xint8X([out] sint16 i);
sint16 Xint16X([out] sint32 i);
sint32 Xint32X([out] sint64 i);
sint64 Xint64X([out] datetime i);
datetime XdatetimeX([out] string i);
string XstringX([out] YY i);
YY XEmbedXX([out] boolean i);
};
class caller4
{
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xboolean([in] uint8 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xuint8([in] uint16 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xuint16([in] uint32 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xuint32([in] uint64 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xuint64([in] sint8 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xint8([in] sint16 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xint16([in] sint32 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xint32([in] sint64 i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xint64([in] datetime i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xdatetime([in] string i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void Xstring([in] YY i);
[qualbool, qualbool2(FALSE),
qualarrstr { "string1", "string2", "string3" },
qualarrint { 1, 2, 3 }
]
void XEmbedX([in] boolean i);
void XbooleanX([out] uint8 i);
void Xuint8X([out] uint16 i);
void Xuint16X([out] uint32 i);
void Xuint32X([out] uint64 i);
void Xuint64X([out] sint8 i);
void Xint8X([out] sint16 i);
void Xint16X([out] sint32 i);
void Xint32X([out] sint64 i);
void Xint64X([out] datetime i);
void XdatetimeX([out] string i);
void XstringX([out] YY i);
void XEmbedXX([out] boolean i);
};
#pragma namespace("subspace")
//
// Define EC1 and EC2 as embedded classes. Embedded classes are structures
// that are used within other classes.
//
[WMI,
Locale("MS\\0x409"),
HeaderName("EC1"),
Description("Description of embedeed class 1"),
guid("{A1C15015-B069-11d1-9290-00A0C9062910}")]
class Vendor_EC1
{
[WmiDataId(1),
read, write,
Description("boolean data")
] boolean Xboolean;
[WmiDataId(2),
read, write,
Description("unsigned character data")
] uint8 Xuint8;
[WmiDataId(3),
read, write,
Description("unsigned short data")
] uint16 Xuint16;
[WmiDataId(4),
read, write,
Description("unsigned long data")
] uint32 Xuint32;
[WmiDataId(5),
read, write,
Description("unsigned long long data")
] uint64 Xuint64;
[WmiDataId(6),
read, write,
Description("signed byte data")
] sint8 Xint8;
[WmiDataId(7),
read, write,
Description("singed short data")
] sint16 Xint16;
[WmiDataId(8),
read, write,
Description("singed long data")
] sint32 Xint32;
[WmiDataId(9),
read, write,
Description("signed long long data")
] sint64 Xint64;
[WmiDataId(10),
read, write,
Description("absolute or relative date and time")
] datetime Xdatetime;
};
[WMI,
Locale("MS\\0x409"),
HeaderName("EC2"),
Description("Description of embedeed class 2"),
guid("{A1C15016-B069-11d1-9290-00A0C9062910}")]
class Vendor_EC2
{
[WmiDataId(1),
read, write,
Description("Fixed length array of 8 booleans")
] boolean Xboolean[8];
[WmiDataId(2),
read, write,
Description("Fixed length array of 8 unsigned characters")
] uint8 Xuint8[8];
[WmiDataId(3),
read, write,
Description("Fixed length array of 4 unsigned shorts")
] uint16 Xuint16[4];
[WmiDataId(4),
read, write,
Description("Fixed length array of 2 usingned long")
] uint32 Xuint32[2];
[WmiDataId(5),
read, write,
Description("Unsigned long long")
] uint64 Xuint64;
[WmiDataId(6),
read, write,
Description("Fixed length array of 8 signed characters")
] sint8 Xint8[8];
[WmiDataId(7),
read, write,
Description("Fixed length array of 4 signed short")
] sint16 Xint16[4];
[WmiDataId(8),
read, write,
Description("Fixed length array of 2 signed long")
] sint32 Xint32[2];
[WmiDataId(9),
read, write,
Description("Signed long long")
] sint64 Xint64;
[WmiDataId(10),
read, write,
Description("absolute or relative date and time")
] datetime Xdatetime;
};
#pragma classflags("createonly")
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of sample class 1"),
Locale("MS\\0x409"),
guid("{15D851F1-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass1
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("boolean data")
] boolean Xboolean;
[WmiDataId(2),
read, write,
Description("unsigned character data")
] uint8 Xuint8;
[WmiDataId(3),
read, write,
Description("unsigned short data")
] uint16 Xuint16;
[WmiDataId(4),
read, write,
Description("unsigned long data")
] uint32 Xuint32;
[WmiDataId(5),
read, write,
Description("unsigned long long data")
] uint64 Xuint64;
[WmiDataId(6),
read, write,
Description("signed byte data")
] sint8 Xint8;
[WmiDataId(7),
read, write,
Description("singed short data")
] sint16 Xint16;
[WmiDataId(8),
read, write,
Description("singed long data")
] sint32 Xint32;
[WmiDataId(9),
read, write,
Description("signed long long data")
] sint64 Xint64;
[WmiDataId(10),
read, write,
Description("absolute or relative date and time")
] datetime Xdatetime;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 2"),
Locale("MS\\0x409"),
guid("{15D851F2-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass2
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("Embedded class data")
] Vendor_EC1 EmbeddedClass1;
};
#pragma classflags("forceupdate")
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 3"),
Locale("MS\\0x409"),
guid("{15D851F3-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass3
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("FIxed length array of 4 embedded classes")
] Vendor_EC1 EmbeddedClass1[4];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 4"),
Locale("MS\\0x409"),
guid("{15D851F4-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass4
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("Number of elements in array")
] uint32 Count;
[WmiDataId(2),
read, write,
Description("Variable length array of embedded classes. Count specifies the number of elements in the array"),
WmiSizeIs("Count")] Vendor_EC1 EmbeddedClass1[];
};
#pragma classflags("safeupdate")
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 5"),
Locale("MS\\0x409"),
guid("{15D851F5-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass5
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("Embedded class data")
] Vendor_EC2 EmbeddedClass2;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 6"),
Locale("MS\\0x409"),
guid("{15D851F6-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass6
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("Fixed length array of 4 embedded classes")
] Vendor_EC2 EmbeddedClass2[4];
};
#pragma classflags("updateonly")
[WMI,
Dynamic,
Provider("WmiProv"),
Description("Description of Sample Class 7"),
Locale("MS\\0x409"),
guid("{15D851F7-6539-11d1-A529-00A0C9062910}")]
class Vendor_SampleClass7
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read, write,
Description("Number of elements in array")
] uint32 Count;
[WmiDataId(2),
read, write,
Description("Variable length array of embedded classes. Count specifies the number of elements in the array"),
WmiSizeIs("Count")] Vendor_EC2 EmbeddedClass2[];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Methods that can get and set data"),
guid("{15D851F8-6539-11d1-A529-00A0C9062910}")]
class Vendor_GetSetData
{
[key, read]
string InstanceName;
[read] boolean Active;
[Implemented,
Description("Change the contents of EC1"),
WmiMethodId(1)] void SetEC1([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[in] uint32 pad,
[in] boolean Xboolean,
[in] uint8 Xuint8,
[in] uint16 Xuint16,
[in] uint32 Xuint32,
[in] uint64 Xuint64,
[in] sint8 Xint8,
[in] sint16 Xint16,
[in] sint32 Xint32,
[in] sint64 Xint64,
[in] datetime Xdatetime);
[Implemented,
Description("Change the contents of EC2"),
WmiMethodId(2)] void SetEC2([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[in] uint32 pad,
[in] boolean Xboolean[8],
[in] uint8 Xuint8[8],
[in] uint16 Xuint16[4],
[in] uint32 Xuint32[2],
[in] uint64 Xuint64,
[in] sint8 Xint8[8],
[in] sint16 Xint16[4],
[in] sint32 Xint32[2],
[in] sint64 Xint64,
[in] datetime Xdatetime);
[Implemented,
Description("Get the contents of EC1"),
WmiMethodId(3)] void GetEC1([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[out] boolean Xboolean,
[out] uint8 Xuint8,
[out] uint16 Xuint16,
[out] uint32 Xuint32,
[out] uint64 Xuint64,
[out] sint8 Xint8,
[out] sint16 Xint16,
[out] sint32 Xint32,
[out] sint64 Xint64,
[out] datetime Xdatetime);
[Implemented,
Description("Get the contents of EC2"),
WmiMethodId(4)] void GetEC2([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[out] boolean Xboolean[8],
[out] uint8 Xuint8[8],
[out] uint16 Xuint16[4],
[out] uint32 Xuint32[2],
[out] uint64 Xuint64,
[out] sint8 Xint8[8],
[out] sint16 Xint16[4],
[out] sint32 Xint32[2],
[out] sint64 Xint64,
[out] datetime Xdatetime);
[Implemented,
Description("Cause driver to update its registration to remove Vendor_SampleClass7"),
WmiMethodId(5)] void DisableSampleClass7();
[Implemented,
Description("Cause driver to update its registration to include Vendor_SampleClass7"),
WmiMethodId(6)] void EnableSampleClass7();
[Implemented,
Description("Change the contents of Ec1"),
WmiMethodId(7)] void SetEC1AsEc([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[in] Vendor_EC1 Ec1
);
[Implemented,
Description("Change the contents of Ec2"),
WmiMethodId(8)] void SetEC2AsEc([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[in] Vendor_EC2 Ec2);
[Implemented,
Description("Get the contents of Ec1"),
WmiMethodId(9)] void GetEC1AsEc([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[out] Vendor_EC1 Ec1);
[Implemented,
Description("Get the contents of Ec2"),
WmiMethodId(10)] void GetEC2AsEc([in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex,
[out] Vendor_EC2 Ec2);
[Implemented,
Description("Cause driver to unregister device with WMI"),
WmiMethodId(11)] void UnregisterFromWmi();
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing data"),
guid("{15D851E1-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass1 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("boolean data")
] boolean Xboolean;
[WmiDataId(2),
Description("unsigned character data")
] uint8 Xuint8;
[WmiDataId(3),
Description("unsigned short data")
] uint16 Xuint16;
[WmiDataId(4),
Description("unsigned long data")
] uint32 Xuint32;
[WmiDataId(5),
Description("unsigned long long data")
] uint64 Xuint64;
[WmiDataId(6),
Description("signed byte data")
] sint8 Xint8;
[WmiDataId(7),
Description("singed short data")
] sint16 Xint16;
[WmiDataId(8),
Description("singed long data")
] sint32 Xint32;
[WmiDataId(9),
Description("signed long long data")
] sint64 Xint64;
[WmiDataId(10),
Description("absolute or relative date and time")
] datetime Xdatetime;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing embedded class 1"),
guid("{15D851E2-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass2 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("Embedded class data")
] Vendor_EC1 EmbeddedClass1;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing a fixed length array embedded class 1"),
guid("{15D851E3-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass3 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("Fixed length array of 4 embedded classes")
] Vendor_EC1 EmbeddedClass1[4];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing a variable length array embedded class 1"),
guid("{15D851E4-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass4 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("Number of elements in array")
] uint32 Count;
[WmiDataId(2),
Description("Variable length array of embedded classes. Count specifies the number of elements in the array"),
WmiSizeIs("Count")] Vendor_EC1 EmbeddedClass1[];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing embedded class 2"),
guid("{15D851E5-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass5 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1)] Vendor_EC2 EmbeddedClass2;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing a fixed length array of embedded class 2"),
guid("{15D851E6-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass6 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1)] Vendor_EC2 EmbeddedClass2[4];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event containing a variable length array of embedded class 2"),
guid("{15D851E7-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventClass7 : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("Number of elements in array")
] uint32 Count;
[WmiDataId(2),
Description("Variable length array of embedded classes. Count specifies the number of elements in the array"),
WmiSizeIs("Count")] Vendor_EC2 EmbeddedClass2[];
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Event used to illustrate an event reference"),
guid("{15D851E8-6539-11d1-A529-00A0C9062910}")]
class Vendor_EventReferenceClass : WmiEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[WmiDataId(1),
Description("boolean data")
] boolean Xboolean;
[WmiDataId(2),
Description("unsigned character data")
] uint8 Xuint8;
[WmiDataId(3),
Description("unsigned short data")
] uint16 Xuint16;
[WmiDataId(4),
Description("unsigned long data")
] uint32 Xuint32;
[WmiDataId(5),
Description("unsigned long long data")
] uint64 Xuint64;
[WmiDataId(6),
Description("signed byte data")
] sint8 Xint8;
[WmiDataId(7),
Description("singed short data")
] sint16 Xint16;
[WmiDataId(8),
Description("singed long data")
] sint32 Xint32;
[WmiDataId(9),
Description("signed long long data")
] sint64 Xint64;
[WmiDataId(10),
Description("absolute or relative date and time")
] datetime Xdatetime;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Method that fire events"),
guid("{15D851F9-6539-11d1-A529-00A0C9062910}")]
class Vendor_FireEvent
{
[key, read]
string InstanceName;
[read] boolean Active;
[Implemented,
Description("Method to fire an event"),
WmiMethodId(1)] void FireEvent([in,
Description("Type of WNODE to fire"),
Values{"0", "1"},
ValueMap{"WNODE all data",
"WNODE single instance"}
] uint32 WnodeType,
[in,
description("Which type of event to fire"),
Values{"1", "2", "5", "8"},
ValueMap{"Class 1 data",
"Embedded class 1 data",
"Embedded class 2 data",
"Event Reference"}
] uint32 DataType,
[in,
Description("Index of block of data to fire"),
Values{"0", "1", "2", "3"},
ValueMap{"Block 1",
"Block 2",
"Block 3",
"Block 4"}
] uint32 BlockIndex);
};