windows-nt/Source/XPSP1/NT/base/wmi/bmoflocparser/testdrv/test.mof

1245 lines
30 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
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);
};