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 vers laquelle DestinationString.

Valeur de retour

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 vers le membre Buffer de la structure UNICODE_STRING pointée par DestinationString. Le Length membre 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 est NULL, length et maximumLength sont tous deux définis sur zéro.

WdmlibRtlInitUnicodeStringEx ne modifie pas la chaîne source pointée par SourceString .

Note

Si la chaîne source est supérieure à MAX_USTRING - 1 octets (où MAX_USTRING = 0xfffe), 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 faussent la longueur de la chaîne source terminée par null, et la précision de ces valeurs est potentiellement dangereuse.

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 RtlXxxroutines de chaîne ne peuvent pas être appelées à l'> PASSIVE_LEVEL IRQL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Voir la section Remarques.

Voir aussi