1245 lines
30 KiB
Plaintext
1245 lines
30 KiB
Plaintext
/*++
|
||
|
||
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);
|
||
|
||
};
|
||
|