Bagikan melalui


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)

Lihat juga

MRxAreFilesAliased

MRxCleanupFobx

MRxCloseSrvOpen

MRxCollapseOpen

MRxCreate

MRxDeallocateForFcb

MRxDeallocateForFobx

MRxExtendForCache

MRxExtendForNonCache

MRxFlush

MRxForceClosed

MRxIsLockRealizable

MRxShouldTryToCollapseThisOpen

MRxTruncate

MRxZeroExtend