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. |