Fungsi RtlInitString (wdm.h)

Rutinitas RtlInitString menginisialisasi string yang dihitung dari karakter 8-bit.

Sintaks

NTSYSAPI VOID RtlInitString(
  [out]          PSTRING               DestinationString,
  [in, optional] __drv_aliasesMem PCSZ SourceString
);

Parameter

[out] DestinationString

Penunjuk ke struktur STRING yang akan diinisialisasi. File header Ntdef.h mendefinisikan struktur ini agar identik dengan struktur ANSI_STRING .

[in, optional] SourceString

Penunjuk ke string karakter yang dihentikan null. String ini digunakan untuk menginisialisasi string yang dihitung yang ditujukkan oleh DestinationString.

Keterangan

Rutinitas ini menginisialisasi string karakter yang dihitung.

Rutin menyalin nilai penunjuk SourceString ke anggota Buffer dari struktur STRING yang ditujukkan oleh DestinationString. Anggota Panjang struktur ini diatur ke panjang, dalam byte, dari string sumber, tidak termasuk null yang mengakhiri. Anggota MaximumLength dari struktur diatur ke panjang, dalam byte, dari string sumber, termasuk null yang mengakhiri. Jika SourceStringNULL, Panjang dan MaximumLength keduanya diatur ke nol.

RtlInitString tidak mengubah string sumber yang ditujukan oleh SourceString.

Jika string sumber lebih panjang dari MAXUSHORT - 1 byte, RtlInitString menetapkan anggota Panjang struktur STRING yang diacu oleh DestinationString ke MAXUSHORT - 1, dan mengatur anggota MaximumLength dari struktur ini ke MAXUSHORT. Dalam hal ini, nilai Length dan MaximumLength salah menggambarkan panjang string sumber yang dihentikan null, dan mengandalkan akurasi nilai-nilai ini berpotensi berbahaya.

Pemanggil RtlInitString dapat berjalan di IRQL <= DISPATCH_LEVEL jika buffer DestinationString tidak dapat diakses. Biasanya, penelepon berjalan di IRQL = PASSIVE_LEVEL karena sebagian besar rutinitas String RtlXxx lainnya tidak dapat dipanggil di IRQL > PASSIVE_LEVEL.

Makro RTL_CONSTANT_STRING membuat string atau struktur string Unicode untuk menyimpan string yang dihitung.

STRING RTL_CONSTANT_STRING(
  [in]  PCSZ SourceString
);

UNICODE_STRING RTL_CONSTANT_STRING(
  [in]  PCWSTR SourceString
);

RTL_CONSTANT_STRING mengembalikan struktur string atau struktur string Unicode.

Makro RTL_CONSTANT_STRING menggantikan rutinitas RtlInitAnsiString, RtlInitString, dan RtlInitUnicodeString saat meneruskan string konstanta.

Anda dapat menggunakan RTL_CONSTANT_STRING untuk menginisialisasi variabel global.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Lihat bagian Keterangan.

Lihat juga

ANSI_STRING