Share via


Funzione RtlUnicodeStringInitEx (ntstrsafe.h)

La funzione RtlUnicodeStringInitEx inizializza una struttura UNICODE_STRING .

Sintassi

NTSTRSAFEDDI RtlUnicodeStringInitEx(
  [out]          PUNICODE_STRING  DestinationString,
  [in, optional] NTSTRSAFE_PCWSTR pszSrc,
  [in]           DWORD            dwFlags
);

Parametri

[out] DestinationString

Facoltativo. Puntatore a una struttura UNICODE_STRING da inizializzare. Il puntatore pszSrc viene copiato nella struttura UNICODE_STRING del parametro DestinationString. Il numero massimo di caratteri nella stringa a cui pszSrc punta è NTSTRSAFE_UNICODE_STRING_MAX_CCH. DestinationString può essere NULL, ma solo se STRSAFE_IGNORE_NULLS è impostato in dwFlags.

[in, optional] pszSrc

facoltativo. Puntatore a una costante stringa con terminazione Null. Questo puntatore di stringa verrà copiato nel membro Buffer della struttura UNICODE_STRING a cui punta il parametro DestinationString . Questo puntatore di stringa può essere NULL.

[in] dwFlags

Viene definito il flag seguente:

STRSAFE_IGNORE_NULLS

Se questo flag è impostato, il puntatore di origine può essere NULL. RtlUnicodeStringInitEx considera i puntatori del buffer di origine NULL come stringhe vuote (TEXT("")), che possono essere copiate.

Valore restituito

RtlUnicodeStringInitEx restituisce uno dei valori NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
Questo stato di esito positivo indica che i dati di origine erano presenti, la stringa è stata copiata senza troncamento e il buffer di destinazione risultante è con terminazione Null.
STATUS_INVALID_PARAMETER
Questo stato di errore indica che la funzione ha ricevuto un parametro di input non valido. Per altre informazioni, vedere l'elenco seguente.
 

RtlUnicodeStringInitEx restituisce il valore STATUS_INVALID_PARAMETER quando si verifica una delle condizioni seguenti:

  • La lunghezza della stringa a cui punta il parametro pszSrc è maggiore di NTSTRSAFE_UNICODE_STRING_MAX_CCH caratteri.
  • Il puntatore DestinationString è NULL, ma il puntatore pszSrc non è NULL.
Per informazioni su come testare i valori NTSTATUS, vedere Utilizzo di valori NTSTATUS.

Commenti

La funzione RtlUnicodeStringInitEx esegue le operazioni seguenti:

  • Imposta il membro Length della struttura UNICODE_STRING sulla lunghezza, espressa in byte, della stringa a cui punta il parametro pszSrc .
  • Imposta il membro MaximumLength della struttura UNICODE_STRING sulla lunghezza, espressa in byte, della stringa che il parametro pszSrc punta a più di 2 byte.
  • Imposta il membro Buffer della struttura UNICODE_STRING sull'indirizzo specificato dal parametro pszSrc .
Il puntatore DestinationString non può essere NULL a meno che non sia impostato il flag STRSAFE_IGNORE_NULLS.

Per altre informazioni sulle funzioni di stringa sicura, vedere Using Safe String Functions.For more information about the safe string functions, see Using Safe String Functions.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows XP con Service Pack 1 (SP1).
Piattaforma di destinazione Desktop
Intestazione ntstrsafe.h (include Ntstrsafe.h)
Libreria Ntstrsafe.lib
IRQL Se le stringhe modificate sono sempre residenti in memoria, in caso contrario PASSIVE_LEVEL

Vedi anche

RtlUnicodeStringInit

UNICODE_STRING