MRxBuat rutinitas
RutinitasMRxCreate dipanggil oleh RDBSS untuk meminta agar mini-redirector jaringan membuat objek sistem file.
Sintaks
PMRX_CALLDOWN MRxCreate;
NTSTATUS MRxCreate(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parameter
RxContext [masuk, keluar]
Penunjuk ke struktur RX_CONTEXT. Parameter ini berisi IRP yang meminta operasi.
Mengembalikan nilai
MRxCreate mengembalikan STATUS_SUCCESS pada keberhasilan atau nilai NTSTATUS yang sesuai, seperti salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Tidak ada cukup sumber daya untuk menyelesaikan operasi. |
STATUS_NETWORK_ACCESS_DENIED | Akses jaringan ditolak. Kesalahan ini dapat dikembalikan jika pengalihan mini jaringan diminta untuk membuka file baru pada berbagi baca-saja. |
STATUS_NOT_IMPLEMENTED | Fitur yang diminta, seperti boot jarak jauh atau file halaman jarak jauh, tidak diimplementasikan. |
STATUS_NOT_SUPPORTED | Fitur yang diminta, seperti atribut yang diperluas, tidak didukung. |
STATUS_OBJECT_NAME_COLLISION | Pengalih mini jaringan diminta untuk membuat file yang sudah ada. |
STATUS_OBJECT_NAME_NOT_FOUND | Nama objek tidak ditemukan. Kesalahan ini dapat dikembalikan jika pengalih mini jaringan diminta untuk membuka file yang tidak ada. |
STATUS_OBJECT_PATH_NOT_FOUND | Jalur objek tidak ditemukan. Kesalahan ini dapat dikembalikan jika objek aliran NTFS diminta dan sistem file jarak jauh tidak mendukung aliran. |
STATUS_REPARSE | Pemisahan ulang diperlukan untuk menangani tautan simbolis. |
STATUS_RETRY | Operasi harus dicoba kembali. Kesalahan ini dapat dikembalikan jika pengalih mini jaringan mengalami pelanggaran berbagi atau kesalahan akses ditolak. |
Keterangan
MRxCreate dipanggil oleh RDBSS untuk meminta agar redirector mini jaringan membuka objek sistem file di seluruh jaringan. Panggilan ini dikeluarkan oleh RDBSS sebagai respons terhadap penerimaan permintaan IRP_MJ_CREATE .
Sebelum memanggil MRxCreate, RDBSS memodifikasi anggota berikut dalam struktur RX_CONTEXT yang ditunjukkan oleh parameter RxContext :
pRelevantSrvOpen diatur ke struktur SRV_OPEN.
Create.pSrvCall diatur ke struktur SRV_CALL.
Create.NtCreateParameters diatur ke NT_CREATE_PARAMETERS yang diminta.
Dalam konteks pengalihan mini jaringan, objek file mengacu pada struktur blok kontrol file (FCB) dan ekstensi objek file (FOBX) terkait. Ada korespondensi satu ke satu antara objek file dan FOBX. Banyak objek file akan merujuk ke FCB yang sama, yang mewakili satu file di server jarak jauh. Klien dapat memiliki beberapa permintaan terbuka yang berbeda (permintaan NtCreateFile) pada FCB yang sama dan masing-masing dari ini akan membuat objek file baru. RDBSS dan pengalih mini jaringan dapat memilih untuk mengirim lebih sedikit permintaan MRxCreate daripada permintaan NtCreateFile yang diterima, yang berlaku untuk berbagi struktur SRV_OPEN di antara beberapa FOBX.
Jika permintaan MRxCreate adalah untuk penimpaan file dan MRxCreate yang dikembalikan STATUS_SUCCESS, maka RDBSS akan memperoleh sumber daya I/O halaman dan memotong file. Jika file sedang di-cache oleh manajer cache, RDBSS akan memperbarui ukuran yang dimiliki manajer cache dengan yang baru saja diterima dari server.
Sebelum kembali, MRxCreate harus mengatur anggota CurrentIrp-IoStatus.Information> dari struktur RX_CONTEXT yang ditunjukkan oleh parameter RxContext.
Persyaratan
Platform target |
Desktop |
Header |
Mrx.h (termasuk Mrx.h) |