Inscription d’un fournisseur de High-Performance

comme les autres fournisseurs d’instances, vous inscrivez un fournisseur de haute performance auprès de Microsoft Windows Management Instrumentation (WMI) en créant une instance des classes _ _ Win32Provider et _ _ InstanceProviderRegistration . L’instance _ _ Win32Provider définit l’implémentation physique du fournisseur et l’instance _ _ InstanceProviderRegistration définit l’ensemble de fonctionnalités du fournisseur. Pour plus d’informations, consultez inscription d’un fournisseur.

La procédure suivante décrit comment inscrire un fournisseur d’instances à hautes performances.

Pour inscrire un fournisseur d’instances à hautes performances

  1. Créez une instance de la classe _ _ Win32Provider décrivant le fournisseur.

    Veillez à ajouter une propriété ClientLoadableCLSID à l’instance _ _ Win32Provider . Si le fournisseur et le client résident sur le même ordinateur, WMI charge le fournisseur in-process sur le client à l’aide de ClientLoadableCLSID comme identificateur de classe. Lorsque le fournisseur et le client résident sur des ordinateurs différents, WMI charge le fournisseur in-process dans le processus WMI. WMI utilise également ClientLoadableCLSID pour prendre en charge les opérations d’actualisation.

  2. Créez une instance de la classe _ _ InstanceProviderRegistration qui décrit l’ensemble des fonctionnalités du fournisseur.

    Veillez à baliser la classe avec les qualificateurs Dynamic et Provider . Le qualificateur dynamique indique que WMI doit utiliser un fournisseur pour récupérer les instances de classe. Le qualificateur du fournisseur spécifie le nom du fournisseur que WMI doit utiliser.

    Un fournisseur à hautes performances doit également indiquer la prise en charge des opérations, des opérations d’énumération ou des deux. Veillez à utiliser les propriétés SupportsGet et SupportsEnumeration dans votre implémentation.

L’exemple de code suivant montre comment implémenter les classes _ _ Win32Provider et _ _ InstanceProviderRegistration pour un fournisseur à hautes performances.

instance of __Win32Provider as $P
{
    Name="TestProv";
    CLSID="{A41602A4-C038-11d1-AEB6-00C04FB68820}";
    ClientLoadableCLSID="{423B32C9-B033-4242-EFB6-55C044242821}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsEnumeration = TRUE;
};

[ dynamic, 
  provider("TestProv")
]

class TestClass
{
    [key] string KeyVal;
    
    string StrVal1;

    sint32 IntVal1;
    sint32 IntVal2;

    sint32 IntArray2[];
};

Création d’un fournisseur d’instances dans un fournisseur de High-Performance