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
STATUS_OBJECT_TYPE_MISMATCH
Handel yang ditentukan TmHandle bukan handel ke objek transaksi.
STATUS_INVALID_HANDLE
Handel yang ditentukan TmHandle tidak valid.
STATUS_ACCESS_DENIED
Pemanggil tidak memiliki akses yang sesuai ke objek manajer transaksi yang ditentukan.
STATUS_TRANSACTION_OBJECT_EXPIRED
Handel yang ditentukan TmHandle ditutup.
STATUS_INVALID_PARAMETER
Nilai parameter CreateOptions tidak valid atau string parameter Deskripsi terlalu panjang.
STATUS_TM_VOLATILE
Parameter CreateOptions tidak menentukan RESOURCE_MANAGER_VOLATILE tetapi manajer transaksi yang ditentukan TmHandle tidak stabil.
STATUS_OBJECT_NAME_COLLISION
GUID yang ditentukan ResourceManagerGuid sudah ada.
STATUS_ACCESS_DENIED
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

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

UNICODE_STRING

ZwClose

ZwCreateEnlistment

ZwCreateTransactionManager

ZwGetNotificationResourceManager

ZwOpenResourceManager

ZwOpenTransactionManager

ZwQueryInformationResourceManager

ZwRecoverResourceManager