Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les exemples suivants montrent les définitions de classes à partir du schéma d’un pilote de port série. Note that the guid values shown in these examples are placeholders. Chaque définition de classe doit avoir un GUID unique généré par guidgen.exe ou uuidgen.exe (inclus dans le Kit de développement logiciel (SDK) Microsoft Windows).
// Standard class for reporting serial port information
// Class qualifiers
[WMI, guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
Dynamic, Provider("WMIProv"),
WmiExpense(1),
Locale("MS\\0x409"),
Description("Description of class"]
//Class name
class Vendor_SerialInfo {
//Required items
[key, read]
string InstanceName;
[read]
boolean Active;
// Bytes sent on port
// Property qualifiers
[read,
WmiDataId(1),
WmiScale(0),
WmiComplexity(1),
WmiVolatility(1000)]
Description("Description of property")]
// Data item
uint64 BytesSent;
// Bytes received on port
[read,
write,
WmiDataId(2),
WmiScale(0),
WmiVolatility(1000)]
uint64 BytesReceived;
// Who owns the port
[read,
WmiDataId(4),
WmiScale(0),
WmiVolatility(60000)]
string Owner;
// Status bit array
[read, write,
WmiDataId(3),
WmiScale(0)]
byte Status[16];
//The number of items in the XmitBufferSize array
[read,
WmiDataId(5),
WmiScale(0),
WmiComplexity(1),
WmiVolatility(1000)]
uint32 XmitDescriptorCount;
//Array of XmitDescriptor classes
[read,
WmiDataId(6),
WmiSizeIs("XmitDescriptorCount"),
WmiScale(0),
WmiComplexity(1),
WmiVolatility(1000)]
Vendor_XmitDescriptor XmitBufferSize[];
}
Voici la définition de classe de la classe incorporée indiquée dans l’exemple précédent. Note that this class does not contain InstanceName or Active items.
// Example of an embedded class
[WMI, guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
class Vendor_XmitDescriptor {
[read, WmiDataId(1)] int32 DestinationIndex;
[read, WmiDataId(2)] int32 DestinationTarget;
}
Voici une définition de classe pour un bloc d’événements. The class is derived from WmiEvent.
// Example of an event
[WMI, Dynamic, Provider("WMIProv"),
guid("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"),
locale("MS\\0x409"),
WmiExpense(1),
Description("Notify Toaster Arrival")]
class ToasterNotifyDeviceArrival : WMIEvent
{
[key, read]
string InstanceName;
[read]
boolean Active;
[read,
Description("Device Model Name"),
WmiDataId(1)] string ModelName;
};