Fungsi RtlInitAnsiString (wdm.h)

Rutinitas RtlInitAnsiString menginisialisasi string karakter ANSI yang dihitung.

Sintaks

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

Parameter

[out] DestinationString

Penunjuk ke struktur ANSI_STRING yang akan diinisialisasi.

[in, optional] SourceString

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

Nilai kembali

Tidak ada

Keterangan

Rutinitas ini menginisialisasi string karakter yang dihitung.

Rutin menyalin nilai penunjuk SourceString ke anggota Buffer dari struktur ANSI_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.

RtlInitAnsiString tidak mengubah string sumber yang ditunjukkan oleh SourceString.

Jika string sumber lebih panjang dari MAXUSHORT - 1 byte, RtlInitAnsiString menetapkan anggota Panjang struktur ANSI_STRING yang ditunjukkan oleh DestinationString ke MAXUSHORT - 1, dan mengatur anggota MaximumLength dari struktur ini ke MAXUSHORT. Dalam hal ini, nilai Length and MaximumLength salah mengartikan panjang string sumber yang dihentikan null, dan mengandalkan akurasi nilai-nilai ini berpotensi berbahaya.

Penelepon RtlInitAnsiString dapat berjalan di IRQL <= DISPATCH_LEVEL jika buffer DestinationString tidak dapat dihalangi. 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 Tingkat apa pun (Lihat bagian Keterangan)

Lihat juga

ANSI_STRING