Share via


Funzione RtlInitAnsiString (wdm.h)

La routine RtlInitAnsiString inizializza una stringa con conteggiata di caratteri ANSI.

Sintassi

NTSYSAPI VOID RtlInitAnsiString(
  [out]          PANSI_STRING          DestinationString,
  [in, optional] __drv_aliasesMem PCSZ SourceString
);

Parametri

[out] DestinationString

Puntatore alla struttura ANSI_STRING da inizializzare.

[in, optional] SourceString

Puntatore a una stringa di caratteri con terminazione Null. Questa stringa viene utilizzata per inizializzare la stringa con conteggiata a cui punta DestinationString.

Valore restituito

nessuno

Osservazioni

Questa routine inizializza una stringa di caratteri con conteggio.

La routine copia il valore del puntatore SourceString nel membro Buffer della struttura ANSI_STRING a cui punta DestinationString. Il membro Length di questa struttura viene impostato sulla lunghezza, espressa in byte, della stringa di origine, esclusa la terminazione Null. Il membro MaximumLength della struttura viene impostato sulla lunghezza, espressa in byte, della stringa di origine, inclusa la terminazione Null. Se SourceString è NULL, Length e MaximumLength sono entrambi impostati su zero.

RtlInitAnsiString non modifica la stringa di origine a cui punta SourceString.

Se la stringa di origine è più lunga di MAXUSHORT - 1 byte, RtlInitAnsiString imposta il membro Length della struttura ANSI_STRING a cui punta DestinationString su MAXUSHORT - 1 e imposta il membro MaximumLength di questa struttura su MAXUSHORT. In questo caso, i valori Length e MaximumLength non rappresentano la lunghezza della stringa di origine con terminazione Null e l'accuratezza di questi valori è potenzialmente pericolosa.

I chiamanti di RtlInitAnsiString possono essere eseguiti in IRQL <= DISPATCH_LEVEL se il buffer DestinationString non è impaginabile. In genere, i chiamanti vengono eseguiti in IRQL = PASSIVE_LEVEL perché la maggior parte delle altre routine RtlXxxString non può essere chiamata in IRQL > PASSIVE_LEVEL.

La macro RTL_CONSTANT_STRING crea una stringa o una struttura di stringhe Unicode per contenere una stringa con conteggiata.

STRING RTL_CONSTANT_STRING(
  [in]  PCSZ SourceString
);

UNICODE_STRING RTL_CONSTANT_STRING(
  [in]  PCWSTR SourceString
);

RTL_CONSTANT_STRING restituisce una struttura di stringhe o una struttura di stringhe Unicode.

La macro RTL_CONSTANT_STRING sostituisce le routine RtlInitAnsiString, RtlInitString e RtlInitUnicodeString durante il passaggio di una stringa costante.

È possibile usare RTL_CONSTANT_STRING per inizializzare le variabili globali.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello (vedere la sezione Osservazioni)

Vedi anche

ANSI_STRING