WdfDriverRetrieveVersionString, fonction (wdfdriver.h)

[S’applique à KMDF et UMDF]

La méthode WdfDriverRetrieveVersionString récupère une chaîne Unicode qui identifie la version de l’infrastructure de pilote Kernel-Mode avec laquelle le pilote s’exécute.

Syntaxe

NTSTATUS WdfDriverRetrieveVersionString(
  [in] WDFDRIVER Driver,
  [in] WDFSTRING String
);

Paramètres

[in] Driver

Handle de l’objet du pilote d’infrastructure du pilote que le pilote a obtenu à partir d’un appel précédent à WdfDriverCreate ou WdfGetDriver.

[in] String

Handle d’un objet de chaîne d’infrastructure que le pilote a obtenu à partir d’un appel précédent à WdfStringCreate. L’infrastructure affecte la chaîne de version à l’objet string.

Valeur retournée

WdfDriverRetrieveVersionString retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES
L’infrastructure n’a pas pu allouer de mémoire tampon pour la chaîne Unicode.
 

Cette méthode peut également retourner d’autres valeurs NTSTATUS.

Un bogue système case activée se produit si le handle du pilote n’est pas valide.

Remarques

Votre pilote peut appeler WdfDriverRetrieveVersionString si vous souhaitez afficher une chaîne qui identifie la version de la bibliothèque d’infrastructure. Le format de la chaîne peut changer d’une version à une autre. Le pilote ne doit donc pas essayer d’interpréter le format ou le contenu de la chaîne.

Pour plus d’informations sur les versions de bibliothèque, consultez Gestion des versions de la bibliothèque d’infrastructure.

Exemples

L’exemple de code suivant crée un objet string, affecte la chaîne de version à l’objet et affiche la chaîne si un débogueur est en cours d’exécution.

WDFSTRING string;
UNICODE_STRING us;

status = WdfStringCreate(
                         NULL,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string
                         );
if (NT_SUCCESS(status)) {
    status = WdfDriverRetrieveVersionString(
                                            driver,
                                            string
                                            );
    if (NT_SUCCESS(status)) {
        WdfStringGetUnicodeString(
                                  string,
                                  &us
                                  );
        DbgPrint(
                 "WDF Version string:  %wZ\n",
                 &us
                 );
    }
    WdfObjectDelete(string);
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdriver.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WdfDriverCreate

WdfDriverIsVersionAvailable

WdfGetDriver

WdfObjectDelete

WdfStringCreate

WdfStringGetUnicodeString