__Win32Provider class
La classe système __Win32Provider enregistre des informations sur l’implémentation physique d’un fournisseur dans WMI. Les fournisseurs qui ne définissent pas la propriété HostingModel sont chargés, par défaut, pour s’exécuter dans un processus Wmiprvse.exe en tant que NetworkServiceHostOrSelfHost.
La syntaxe suivante est simplifiée à partir de code au format MOF (Managed Object Format) et inclut toutes les propriétés héritées. Les propriétés sont répertoriées dans l’ordre alphabétique, et non dans l’ordre MOF.
class __Win32Provider : __Provider
{
string ClientLoadableCLSID;
string CLSID;
sint32 Concurrency;
string DefaultMachineName;
boolean Enabled;
string HostingModel;
sint32 ImpersonationLevel = 0;
sint32 InitializationReentrancy;
datetime InitializationTimeoutInterval;
boolean InitializeAsAdminFirst;
string Name;
datetime OperationTimeoutInterval;
boolean PerLocaleInitialization = FALSE;
boolean PerUserInitialization = FALSE;
boolean Pure = TRUE;
string SecurityDescriptor;
boolean SupportsExplicitShutdown;
boolean SupportsExtendedStatus;
boolean SupportsQuotas;
boolean SupportsSendStatus;
boolean SupportsShutdown;
boolean SupportsThrottling;
datetime UnloadTimeout;
uint32 Version;
};
La classe __Win32Provider possède ces types de membres :
La classe __Win32Provider a ces propriétés.
-
ClientLoadableCLSID
-
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
Identificateur de classe que WMI utilise pour déterminer s’il faut charger ou non un fournisseur de hautes performances dans le processus client ou le processus WMI. Si le fournisseur et le client résident sur le même ordinateur, WMI charge le fournisseur en cours de traitement sur le client à l’aide de ClientLoadableCLSID comme identificateur de classe. Lorsque le fournisseur et le client se trouvent sur des ordinateurs différents, WMI charge le fournisseur en cours de traitement sur WMI. WMI utilise également ClientLoadableCLSID pour prendre en charge les opérations d’actualisation.
Pour plus d’informations, consultez Inscription d’un fournisseur de High-Performance.
-
-
CLSID
-
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
GUID qui représente l’identificateur de classe (CLSID) de l’objet COM du fournisseur. Cet objet COM doit contenir une implémentation de l’interface IWbemProviderInit .
-
-
Concurrency
-
-
Type de données : sint32
-
Type d’accès : lecture/écriture
Non utilisé.
-
-
DefaultMachineName
-
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
Identifie l’ordinateur sur lequel démarrer le fournisseur. Si le fournisseur s’exécute sur l’ordinateur local, il est NULL.
-
-
Activé
-
-
Type de données : booléen
-
Type d'accès : lecture/écriture
Si la valeur est TRUE, cette instance est activée et peut être utilisée pour effectuer des demandes clientes.
-
-
HostingModel
-
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
Cette propriété est composée de valeurs provenant des propriétés MSFT_ProvidersHostingGroup et HostingSpecification. La valeur de cette propriété spécifie la façon dont WMI charge le fournisseur et le compte de sécurité sous lequel il s’exécute. Pour plus d’informations sur la définition de la propriété HostingModel , consultez Hébergement et sécurité du fournisseur et Inscription d’un fournisseur.
-
-
ImpersonationLevel
-
-
Type de données : sint32
-
Type d'accès : lecture/écriture
Réservé. La valeur par défaut est zéro (0).
-
-
InitializationReentrancy
-
-
Type de données : sint32
-
Type d'accès : lecture/écriture
Ensemble d’indicateurs qui fournissent des informations sur la sérialisation. La valeur par défaut est zéro (0).
-
-
0
-
Toute l’initialisation de ce fournisseur doit être sérialisée.
-
1
-
Toutes les initialisations de ce fournisseur dans le même espace de noms doivent être sérialisées.
-
2
-
Aucune sérialisation d’initialisation n’est nécessaire.
InitializationTimeoutInterval
-
Type de données : datetime
-
Type d’accès : lecture/écriture
Non utilisé.
InitializeAsAdminFirst
-
Type de données : booléen
-
Type d'accès : lecture/écriture
TBD
Nom
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
-
Qualificateurs : Clé
Nom du fournisseur.
OperationTimeoutInterval
-
Type de données : datetime
-
Type d’accès : lecture/écriture
Non utilisé.
PerLocaleInitialization
-
Type de données : booléen
-
Type d'accès : lecture/écriture
Si la valeur est TRUE, le fournisseur est initialisé pour chaque paramètre régional lorsqu’un utilisateur se connecte au même espace de noms plusieurs fois à l’aide de paramètres régionaux différents. La valeur par défaut est FALSE.
PerUserInitialization
-
Type de données : booléen
-
Type d'accès : lecture/écriture
Si la valeur est TRUE, le fournisseur est initialisé une fois pour chaque utilisateur NTN Manager (NTLM) qui effectue des requêtes au fournisseur. Si la valeur est FALSE (valeur par défaut), le fournisseur est initialisé une seule fois pour tous les utilisateurs.
Pure
-
Type de données : booléen
-
Type d'accès : lecture/écriture
Si la valeur est TRUE, le fournisseur accepte de se préparer à décharger en appelant IUnknown::Release sur tous les points d’interface en suspens lorsque WMI appelle la méthode Release de son interface principale. Les fournisseurs qui doivent rester clients de WMI après qu’ils ne fonctionnent pas en tant que fournisseurs doivent définir Pure sur FALSE. Le paramètre par défaut est TRUE. Pour plus de détails, consultez la section Notes de .
SecurityDescriptor
-
Type de données : chaîne
-
Type d'accès : lecture/écriture
Descripteur de sécurité (SD) dans le langage SDDL (Security Descriptor Definition Language) qui détermine l’ensemble des utilisateurs qui peuvent appeler avec succès IWbemDecoupledRegistrar:Register pour le fournisseur découplé. Pour plus d’informations, consultez la rubrique Security Descriptor Definition Language dans la section Sécurité du Kit de développement logiciel (SDK) Windows. Ce descripteur de sécurité est utilisé uniquement pour les fournisseurs découplés et n’affecte pas les autres fournisseurs. Pour plus d’informations, consultez Incorporation d’un fournisseur dans une application.
WMI effectue des vérifications d’accès pour les fournisseurs découplés qui utilisent les interfaces IWbemProviderInit et IWbemObjectSink. Si le descripteur de sécurité est NULL, seules les applications ou services qui s’exécutent sous les comptes LocalSystem, NetworkService et LocalService peuvent exécuter un fournisseur découplé.
La chaîne suivante montre un fournisseur découplé à exécuter uniquement par les administrateurs intégrés. "O:BAG:BAD:(A;;0x1;;;BA)"
Pour plus d’informations sur la définition de la propriété SecurityDescriptor , consultez Maintenance de la sécurité WMI.
SupportsExplicitShutdown
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
SupportsExtendedStatus
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
SupportsQuotas
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
SupportsSendStatus
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
SupportsShutdown
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
SupportsThrottling
-
Type de données : booléen
-
Type d’accès : lecture/écriture
Non utilisé.
UnloadTimeout
-
Type de données : datetime
-
Type d'accès : lecture/écriture
Format de date et d’heure qui spécifie la durée pendant laquelle WMI permet au fournisseur de rester inactif avant son déchargement. En règle générale, les fournisseurs demandent que WMI n’attende pas plus de cinq minutes.
Pour la version actuelle de WMI, la valeur de cette propriété est ignorée. WMI décharge le fournisseur en fonction de la valeur de délai d’attente dans une classe interne de l’espace de noms \root. Il est recommandé aux fournisseurs de définir UnloadTimeout. Pour plus d'informations, voir Décharger un fournisseur.
Version
-
Type de données : uint32
-
Type d'accès : lecture/écriture
Version du fournisseur. Les versions prises en charge sont 1 et 2. La version 2 renforce les vérifications de validité pour toutes les inscriptions de propriétés associées, en particulier la propriété ImpersonationLevel .
La classe __Win32Provider est dérivée de __Provider.
La plupart des fournisseurs peuvent accepter les valeurs par défaut de la propriété InitializationReentrancy . Toutefois, si un fournisseur peut prendre en charge l’initialisation simultanée pour des utilisateurs distincts, cette propriété peut être définie sur 1 (un). Si l’initialisation sérialisée est nécessaire, InitializationReentrancy reste 0 (zéro). Dans les deux cas, PerUserInitialization est défini sur TRUE.
Un fournisseur pur ou un fournisseur qui définit la propriété Pure sur TRUE, existe uniquement pour les demandes de service provenant d’applications et de WMI. La plupart des fournisseurs sont des fournisseurs purs. Un fournisseur non pure est l’exception. Les fournisseurs non-clients passent au rôle de client une fois qu’ils ont terminé les demandes de maintenance.
Un fournisseur non pure est un fournisseur push qui commence à émettre des requêtes et effectue des demandes de WMI une fois l’initialisation terminée. Un fournisseur d’envois (push) n’a pas de responsabilités, sauf à mettre à jour le référentiel CIM avec des données au moment de l’initialisation. Après la mise à jour du dépôt, un fournisseur push peut attendre d’être déchargé ou passer au rôle de client. Le fournisseur push qui attend d’être déchargé est un fournisseur pur. Le fournisseur d’envois (push) qui participe aux activités du client n’est pas pur.
WMI doit être en mesure de distinguer les fournisseurs purs des fournisseurs non purs afin de pouvoir déterminer quand il est sûr de s’arrêter. WMI doit attendre que toutes les opérations impliquant des fournisseurs non purs se terminent avant de pouvoir s’arrêter en toute sécurité.
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
Espace de noms |
Tous les espaces de noms WMI |