Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfStringCreate crée un objet de chaîne d’infrastructure et attribue é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 d’infrastructure. 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 de chaîne. 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 de retour
WdfStringCreate retourne STATUS_SUCCESS si l’opération réussit. Sinon, la méthode peut retourner l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
|
|
Un paramètre non valide a été spécifié. |
|
Impossible d’allouer un objet de chaîne. |
Pour obtenir la liste des autres valeurs de retour que la méthode WdfStringCreate peut retourner, consultez Framework Object Creation Errors.
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 de pilote framework du pilote. Toutefois, sauf si la chaîne est 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 EvtCleanupCallback ou EvtDestroyCallback fonctions de rappel pour l’objet de chaîne de framework, notez que l’infrastructure appelle ces fonctions de rappel à IRQL = PASSIVE_LEVEL.
Pour plus d’informations sur les objets de chaîne de framework, consultez Using String Objects.
Exemples
L’exemple de code suivant initialise une structure WDF_OBJECT_ATTRIBUTES, puis crée un objet de chaîne d’infrastructure.
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;
}
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | wdfstring.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) |