Partager via


WdmlibRtlInitUnicodeStringEx, fonction (wdmsec.h)

La fonction WdmlibRtlInitUnicodeStringEx initialise une chaîne comptée de caractères Unicode.

Syntaxe

NTSTATUS WdmlibRtlInitUnicodeStringEx(
  [out]          PUNICODE_STRING DestinationString,
  [in, optional] PCWSTR          SourceString
);

Paramètres

[out] DestinationString

Pointeur vers la structure UNICODE_STRING à initialiser.

[in, optional] SourceString

Pointeur vers une chaîne de caractères larges terminée par null. Cette chaîne est utilisée pour initialiser la chaîne comptée pointée par DestinationString.

Valeur retournée

WdmlibRtlInitUnicodeStringEx retourne STATUS_SUCCESS si elle réussit, sinon, la méthode peut retourner d’autres valeurs NTSTATUS.

Remarques

La routine copie la valeur du pointeur SourceString dans le membre Buffer de la structure UNICODE_STRING pointée par DestinationString. Le membre Length de cette structure est défini sur la longueur, en octets, de la chaîne source, à l’exclusion de la valeur Null de fin. Le membre MaximumLength de la structure est défini sur la longueur, en octets, de la chaîne source, y compris la valeur Null de fin. Si SourceString a la valeur NULL, Length et MaximumLength sont tous deux définis sur zéro.

WdmlibRtlInitUnicodeStringEx ne modifie pas la chaîne source pointée vers sourceString.

Notes

Si la chaîne source est plus longue que MAX_USTRING - 1 octet, WdmlibRtlInitUnicodeStringEx définit le membre Length de la structure UNICODE_STRING pointée par DestinationString sur MAX_USTRING - 2, et définit le membre MaximumLength de cette structure sur MAX_USTRING. Dans ce cas, les valeurs Length et MaximumLength dénaturent la longueur de la chaîne source terminée par null, et s’appuyer sur la précision de ces valeurs est potentiellement dangereux.

Les appelants de WdmlibRtlInitUnicodeStringEx peuvent s’exécuter à IRQL <= DISPATCH_LEVEL si la mémoire tampon DestinationString n’est pas modifiable. En règle générale, les appelants s’exécutent à IRQL = PASSIVE_LEVEL, car la plupart des autres routines rtlXxxString ne peuvent pas être appelées au PASSIVE_LEVEL IRQL > .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdmsec.h (inclure Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consultez la section Notes.

Voir aussi