Funzione RtlInitString (wdm.h)
La routine RtlInitString inizializza una stringa conteggiata di caratteri a 8 bit.
Sintassi
NTSYSAPI VOID RtlInitString(
[out] PSTRING DestinationString,
[in, optional] __drv_aliasesMem PCSZ SourceString
);
Parametri
[out] DestinationString
Puntatore alla struttura STRING da inizializzare. Il file di intestazione Ntdef.h definisce questa struttura come identica alla struttura ANSI_STRING .
[in, optional] SourceString
Puntatore a una stringa di caratteri con terminazione null. Questa stringa viene usata per inizializzare la stringa conteggiata a cui fa riferimento DestinationString.
Commenti
Questa routine inizializza una stringa di caratteri conteggiata.
La routine copia il valore del puntatore SourceString nel membro Buffer della struttura STRING a cui punta DestinationString. Il membro Length di questa struttura è impostato sulla lunghezza, in byte, della stringa di origine, esclusa la terminazione null. Il membro MaximumLength della struttura è impostato sulla lunghezza, in byte, della stringa di origine, inclusa la terminazione null. Se SourceString è NULL, Length e MaximumLength sono entrambi impostati su zero.
RtlInitString non modifica la stringa di origine a cui fa riferimento SourceString.
Se la stringa di origine è più lunga di MAXUSHORT - 1 byte, RtlInitStringimposta il membro Length della struttura STRING a cui fa riferimento DestinationString a 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 si basano sull'accuratezza di questi valori è potenzialmente pericoloso.
I chiamanti di RtlInitString 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 struttura stringa o Unicode per contenere una stringa conteggiata.
STRING RTL_CONSTANT_STRING(
[in] PCSZ SourceString
);
UNICODE_STRING RTL_CONSTANT_STRING(
[in] PCWSTR SourceString
);
RTL_CONSTANT_STRING restituisce una struttura stringa o una struttura stringa Unicode.
La macro RTL_CONSTANT_STRING sostituisce le routine RtlInitAnsinitAnsiString, 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 | Vedere La sezione Osservazioni. |