WdfStringCreate, fonction (wdfstring.h)
[S’applique à KMDF et UMDF]
La méthode WdfStringCreate crée un objet de chaîne d’infrastructure et affecte éventuellement une chaîne Unicode spécifiée à l’objet .
Syntaxe
NTSTATUS WdfStringCreate(
[in, optional] PCUNICODE_STRING UnicodeString,
[in, optional] PWDF_OBJECT_ATTRIBUTES StringAttributes,
[out] WDFSTRING *String
);
Paramètres
[in, optional] UnicodeString
Pointeur vers une structure UNICODE_STRING qui contient une constante de chaîne Unicode. L’infrastructure copie la chaîne dans le nouvel objet de chaîne de framework. Ce pointeur est facultatif et peut être NULL.
[in, optional] StringAttributes
Pointeur vers une structure WDF_OBJECT_ATTRIBUTES qui contient des attributs fournis par le pilote pour le nouvel objet string. Ce paramètre est facultatif et peut être WDF_NO_OBJECT_ATTRIBUTES.
[out] String
Pointeur vers un emplacement qui reçoit un handle vers le nouvel objet de chaîne.
Valeur retournée
WdfStringCreate retourne STATUS_SUCCESS si l’opération réussit. Sinon, la méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
WdfStringCreate n’a pas été appelé dans IRQL = PASSIVE_LEVEL. |
|
Un paramètre non valide a été spécifié. |
|
Impossible d’allouer un objet string. |
Pour obtenir la liste des autres valeurs de retour que la méthode WdfStringCreate peut retourner, consultez Erreurs de création d’objets framework.
Cette méthode peut également retourner d’autres valeurs NTSTATUS.
Remarques
Le parent par défaut pour les objets de chaîne d’infrastructure est l’objet pilote d’infrastructure du pilote. Toutefois, à moins que la chaîne ne soit associée au pilote, votre pilote doit définir le membre ParentObject de la structure WDF_OBJECT_ATTRIBUTES sur un objet qui représente l’étendue de la chaîne. En règle générale, les chaînes sont spécifiques à l’appareil et leur objet parent doit être un objet d’appareil framework.
Si votre pilote fournit des fonctions de rappel EvtCleanupCallback ou EvtDestroyCallback pour l’objet de chaîne d’infrastructure, notez que l’infrastructure appelle ces fonctions de rappel à l’adresse IRQL = PASSIVE_LEVEL.
Pour plus d’informations sur les objets de chaîne d’infrastructure, consultez Utilisation d’objets de chaîne.
Exemples
L’exemple de code suivant initialise une structure WDF_OBJECT_ATTRIBUTES , puis crée un objet de chaîne de framework.
NTSTATUS status;
WDFSTRING stringHandle = NULL;
WDF_OBJECT_ATTRIBUTES attributes;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = pDeviceContext->Device;
status = WdfStringCreate(
NULL,
&attributes,
&stringHandle
);
if (!NT_SUCCESS(status)){
return status;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfstring.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) |