Fungsi NtCreateResourceManager (wdm.h)
Rutinitas ZwCreateResourceManager membuat objek manajer sumber daya.
Sintaks
__kernel_entry NTSYSCALLAPI NTSTATUS NtCreateResourceManager(
[out] PHANDLE ResourceManagerHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE TmHandle,
[in] LPGUID RmGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] ULONG CreateOptions,
[in, optional] PUNICODE_STRING Description
);
Parameter
[out] ResourceManagerHandle
Penunjuk ke variabel yang dialokasikan pemanggil yang menerima handel ke objek manajer sumber daya baru jika panggilan ke ZwCreateResourceManager berhasil.
[in] DesiredAccess
Nilai ACCESS_MASK yang menentukan akses yang diminta penelepon ke objek resource manager. Selain hak akses yang ditentukan untuk semua jenis objek (lihat ACCESS_MASK), pemanggil dapat menentukan salah satu bendera kanan akses berikut untuk objek resource manager:
bendera ACCESS_MASK | Memungkinkan penelepon untuk |
---|---|
RESOURCEMANAGER_ENLIST | Daftar dalam transaksi (lihat ZwCreateEnlistment). |
RESOURCEMANAGER_GET_NOTIFICATION | Terima pemberitahuan tentang transaksi yang terkait dengan manajer sumber daya ini (lihat ZwGetNotificationResourceManager). |
RESOURCEMANAGER_REGISTER_PROTOCOL | Tidak digunakan. |
RESOURCEMANAGER_QUERY_INFORMATION | Informasi kueri tentang manajer sumber daya (lihat ZwQueryInformationResourceManager). |
RESOURCEMANAGER_SET_INFORMATION | Tidak digunakan. |
RESOURCEMANAGER_RECOVER | Pulihkan manajer sumber daya (lihat ZwRecoverResourceManager). |
RESOURCEMANAGER_COMPLETE_PROPAGATION | Tidak digunakan. |
Atau, Anda dapat menentukan satu atau beberapa bendera ACCESS_MASK generik berikut. (Bendera STANDARD_RIGHTS_Xxx adalah nilai sistem yang telah ditentukan sebelumnya yang digunakan untuk menegakkan keamanan pada objek sistem.) Anda juga dapat menggabungkan bendera generik ini dengan bendera tambahan dari tabel sebelumnya. Tabel berikut ini memperlihatkan bagaimana hak akses generik sesuai dengan hak akses tertentu.
Akses generik ke kanan | Kumpulan hak akses tertentu |
---|---|
RESOURCEMANAGER_GENERIC_READ | STANDARD_RIGHTS_READ, RESOURCEMANAGER_QUERY_INFORMATION, dan SINKRONKAN |
RESOURCEMANAGER_GENERIC_WRITE | STANDARD_RIGHTS_WRITE, RESOURCEMANAGER_SET_INFORMATION, RESOURCEMANAGER_RECOVER, RESOURCEMANAGER_ENLIST, RESOURCEMANAGER_GET_NOTIFICATION, RESOURCEMANAGER_REGISTER_PROTOCOL, RESOURCEMANAGER_COMPLETE_PROPAGATION, dan SINKRONKAN |
RESOURCEMANAGER_GENERIC_EXECUTE | STANDARD_RIGHTS_EXECUTE, RESOURCEMANAGER_RECOVER, RESOURCEMANAGER_ENLIST, RESOURCEMANAGER_GET_NOTIFICATION, RESOURCEMANAGER_COMPLETE_PROPAGATION, dan SINKRONKAN |
RESOURCEMANAGER_ALL_ACCESS | STANDARD_RIGHTS_REQUIRED, RESOURCEMANAGER_GENERIC_READ, RESOURCEMANAGER_GENERIC_WRITE, dan RESOURCEMANAGER_GENERIC_EXECUTE |
[in] TmHandle
Handel ke objek manajer transaksi yang diperoleh oleh semua sebelumnya ke ZwCreateTransactionManager atau ZwOpenTransactionManager.
[in] RmGuid
Pointer ke GUID yang akan digunakan KTM untuk mengidentifikasi manajer sumber daya. Jika pointer ini NULL, KTM menghasilkan GUID.
[in, optional] ObjectAttributes
Penunjuk ke struktur OBJECT_ATTRIBUTES yang menentukan nama objek dan atribut lainnya. Gunakan rutinitas InitializeObjectAttributes untuk menginisialisasi struktur ini. Jika pemanggil tidak berjalan dalam konteks utas sistem, pemanggil harus mengatur atribut OBJ_KERNEL_HANDLE saat memanggil InitializeObjectAttributes. Parameter ini bersifat opsional dan dapat berupa NULL.
[in, optional] CreateOptions
Bendera pembuatan objek opsional. Tabel berikut berisi bendera yang tersedia, yang ditentukan dalam Ktmtypes.h.
Bendera CreateOptions | Makna |
---|---|
RESOURCE_MANAGER_COMMUNICATION | Hanya untuk penggunaan internal. |
RESOURCE_MANAGER_VOLATILE | Pemanggil akan mengelola sumber daya yang volatil. Ini tidak akan persisten dan tidak akan melakukan pemulihan. |
Parameter ini bersifat opsional dan bisa nol.
[in, optional] Description
Penunjuk ke struktur UNICODE_STRING yang disediakan penelepon yang berisi string yang dihentikan NULL. String menyediakan deskripsi manajer sumber daya. KTM menyimpan salinan string dan menyertakan string dalam pesan yang ditulisnya ke aliran log. Panjang string maksimum adalah MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH. Parameter ini bersifat opsional dan dapat berupa NULL.
Nilai kembali
ZwCreateResourceManager mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, rutinitas ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Handel yang ditentukan TmHandle bukan handel ke objek transaksi. |
|
Handel yang ditentukan TmHandle tidak valid. |
|
Pemanggil tidak memiliki akses yang sesuai ke objek manajer transaksi yang ditentukan. |
|
Handel yang ditentukan TmHandle ditutup. |
|
Nilai parameter CreateOptions tidak valid atau string parameter Deskripsi terlalu panjang. |
|
Parameter CreateOptions tidak menentukan RESOURCE_MANAGER_VOLATILE tetapi manajer transaksi yang ditentukan TmHandle tidak stabil. |
|
GUID yang ditentukan ResourceManagerGuid sudah ada. |
|
Nilai parameter DesiredAccess tidak valid. |
Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.
Keterangan
Manajer sumber daya yang memanggil ZwCreateResourceManager akhirnya harus memanggil ZwClose untuk menutup handel objek.
Untuk informasi selengkapnya tentang ZwCreateResourceManager, lihat Membuat Resource Manager.
Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinItas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi sistem operasi yang lebih baru. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Lihat juga
ZwGetNotificationResourceManager