WdfRegistryQueryString, fonction (wdfregistry.h)
[S’applique à KMDF et UMDF]
La méthode WdfRegistryQueryString récupère les données de chaîne actuellement affectées à une valeur de chaîne de Registre spécifiée et affecte la chaîne à un objet de chaîne d’infrastructure spécifié.
Syntaxe
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Paramètres
[in] Key
Handle d’un objet de clé de Registre qui représente une clé de Registre ouverte.
[in] ValueName
Pointeur vers une structure UNICODE_STRING qui contient un nom pour la valeur de Registre.
[in] String
Handle pour un objet de chaîne d’infrastructure. L’infrastructure affecte les données de chaîne de la valeur de Registre à cet objet.
Valeur retournée
WdfRegistryQueryString retourne STATUS_SUCCESS si l’opération réussit. Sinon, la méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
WdfRegistryQueryString n’a pas été appelé dans IRQL = PASSIVE_LEVEL. |
|
Un paramètre non valide a été spécifié. |
|
La mémoire était insuffisante pour terminer l’opération. |
|
Le pilote n’a pas ouvert la clé de Registre avec un accès KEY_QUERY_VALUE, KEY_READ ou KEY_ALL_ACCESS. |
|
Le type de données de la valeur de Registre spécifiée par le paramètre ValueName n’a pas été REG_SZ. |
|
La valeur du Registre n’était pas disponible. |
|
La valeur de Registre existe sous la clé spécifiée, mais est vide. |
Pour obtenir la liste des autres valeurs de retour que la méthode WdfRegistryQueryString peut retourner, consultez Erreurs de création d’objets framework.
Cette méthode peut également retourner d’autres valeurs NTSTATUS.
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
Pour obtenir une chaîne à partir d’un objet string, votre pilote peut appeler WdfStringGetUnicodeString.
Pour plus d’informations sur les objets de clé de Registre, consultez Utilisation du Registre dans les pilotes Framework-Based.
Exemples
L’exemple de code suivant crée un objet string, récupère les données de chaîne à partir d’une clé de Registre et obtient les données de chaîne à partir de l’objet string.
UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfRegistryQueryString(
Key,
&valueName,
string
);
if (NT_SUCCESS(status)) {
WdfStringGetUnicodeString(
string,
&str
);
}
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfregistry.h (include 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) |