Fungsi FsRtlCreateSectionForDataScan (ntifs.h)
Rutinitas FsRtlCreateSectionForDataScan membuat objek bagian. Gunakan rutinitas ini dengan sangat hati-hati. (Lihat bagian Keterangan berikut.)
Sintaks
NTSTATUS FsRtlCreateSectionForDataScan(
[out] PHANDLE SectionHandle,
[out] PVOID *SectionObject,
[out, optional] PLARGE_INTEGER SectionFileSize,
[in] PFILE_OBJECT FileObject,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PLARGE_INTEGER MaximumSize,
[in] ULONG SectionPageProtection,
[in] ULONG AllocationAttributes,
[in] ULONG Flags
);
Parameter
[out] SectionHandle
Penunjuk ke variabel yang dialokasikan penelepon yang menerima handel buram ke objek bagian.
[out] SectionObject
Penunjuk ke variabel yang dialokasikan penelepon yang menerima penunjuk buram ke objek bagian.
[out, optional] SectionFileSize
Penunjuk ke variabel yang dialokasikan penelepon yang menerima ukuran, dalam byte, file pada saat objek bagian dibuat. Parameter ini bersifat opsional dan dapat berupa NULL.
[in] FileObject
Objek file untuk file yang terbuka. Objek bagian akan didukung oleh file yang ditentukan. Parameter ini diperlukan dan tidak boleh NULL.
[in] DesiredAccess
Menentukan akses yang diinginkan untuk objek bagian sebagai satu atau beberapa bendera ACCESS_MASK berikut.
Bendera DesiredAccess | Memperbolehkan penelepon untuk |
---|---|
SECTION_MAP_READ | Baca tampilan bagian. |
SECTION_MAP_WRITE | Tulis tampilan bagian . |
SECTION_QUERY | Kueri objek bagian untuk informasi tentang bagian tersebut. Driver harus mengatur bendera ini. |
SECTION_ALL_ACCESS | Semua tindakan yang ditentukan oleh bendera sebelumnya serta yang ditentukan oleh STANDARD_RIGHTS_REQUIRED. (Untuk informasi selengkapnya tentang STANDARD_RIGHTS_REQUIRED, lihat ACCESS_MASK.) |
[in, optional] ObjectAttributes
Penunjuk ke struktur OBJECT_ATTRIBUTES yang menentukan nama objek dan atribut lainnya. Gunakan makro InitializeObjectAttributes untuk menginisialisasi struktur ini. Karena FsRtlCreateSectionForDataScan menyisipkan objek ini ke dalam tabel handel proses, pemanggil harus menentukan atribut OBJ_KERNEL_HANDLE saat memanggil InitializeObjectAttributes.
[in, optional] MaximumSize
Parameter ini dicadangkan untuk digunakan di masa mendatang.
[in] SectionPageProtection
Menentukan perlindungan yang akan ditempatkan pada setiap halaman di bagian . Tentukan salah satu nilai berikut ini. Parameter ini diperlukan dan tidak boleh nol.
Bendera | Makna |
---|---|
PAGE_READONLY | Mengaktifkan akses baca-saja ke wilayah halaman yang diterapkan. Upaya untuk menulis ke wilayah yang berkomitmen menghasilkan pelanggaran akses. Jika sistem membedakan antara akses baca-saja dan menjalankan akses, upaya untuk menjalankan kode di wilayah yang dilakukan menghasilkan pelanggaran akses. |
PAGE_READWRITE | Memungkinkan akses baca dan tulis ke wilayah halaman yang berkomitmen. |
[in] AllocationAttributes
Bitmasks dari bendera SEC_XXX menentukan atribut alokasi bagian. Tentukan satu atau beberapa nilai berikut ini. Parameter ini diperlukan dan tidak boleh nol.
Bendera | Makna |
---|---|
SEC_COMMIT | Mengalokasikan penyimpanan fisik dalam memori atau dalam file halaman pada disk untuk semua halaman bagian. Ini adalah pengaturan default. Perhatikan bahwa bendera ini diperlukan dan tidak dapat dihilangkan. |
SEC_FILE | File yang ditentukan oleh parameter FileObject adalah file yang dipetakan. |
[in] Flags
Parameter ini dicadangkan untuk digunakan di masa mendatang.
Mengembalikan nilai
FsRtlCreateSectionForDataScan mengembalikan nilai STATUS_SUCCESS atau NTSTATUS yang sesuai, seperti salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Ukuran file yang ditentukan oleh parameter FileObject adalah nol. Ini adalah kode kesalahan. |
|
File yang ditentukan oleh parameter FileObject dikunci. Ini adalah kode kesalahan. |
|
FsRtlCreateSectionForDataScan mengalami kegagalan alokasi kumpulan. Ini adalah kode kesalahan. |
|
File yang ditentukan oleh parameter FileObject tidak mendukung bagian. Ini adalah kode kesalahan. |
|
Nilai yang ditentukan untuk parameter SectionPageProtection tidak valid. Ini adalah kode kesalahan. |
|
Pemanggil menentukan nilai yang tidak valid untuk parameter AllocationAttributes. Ini adalah kode kesalahan. |
|
Pemanggil tidak memiliki hak istimewa yang diperlukan untuk membuat objek bagian dengan akses yang ditentukan dalam parameter DesiredAccess. Ini adalah kode kesalahan. |
Keterangan
Untuk informasi selengkapnya tentang membuat bagian dan tampilan memori yang dipetakan, lihat Objek dan Tampilan Bagian. Lihat juga dokumentasi untuk rutinitas CreateFileMapping di Microsoft Windows SDK.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Pembaruan Rollup untuk Windows 2000 Paket Layanan 4 (SP4); Rollup Manajer Filter untuk Windows XP Service Pack 2 (SP2). |
Server minimum yang didukung | Microsoft Windows Server 2003 SP1 |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |