Bagikan melalui


PMRX_CALLDOWN_CTX fungsi panggilan balik (mrx.h)

Rutinitas MRxStart dipanggil oleh RDBSS untuk memulai pengalihan mini jaringan.

Sintaks

PMRX_CALLDOWN_CTX PmrxCalldownCtx;

NTSTATUS PmrxCalldownCtx(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}

Parameter

[in, out] RxContext

Penunjuk ke struktur RX_CONTEXT. Parameter ini berisi IRP yang meminta pengalihan mini jaringan untuk memulai.

[in, out] RxDeviceObject

Penunjuk ke struktur RDBSS_DEVICE_OBJECT untuk pengalihan mini jaringan ini.

Nilai kembali

MRxStart mengembalikan STATUS_SUCCESS pada keberhasilan atau nilai NTSTATUS yang sesuai, seperti salah satu hal berikut ini:

Menampilkan kode Deskripsi
STATUS_REDIRECTOR_STARTED Pengalih-mini jaringan sudah dimulai.
STATUS_UNSUCCESSFUL Pengalih-mini jaringan tidak berhasil dimulai.

Keterangan

MRxStart menyelesaikan inisialisasi pengarah mini jaringan dari perspektif RDBSS. Perhatikan bahwa ini berbeda dari inisialisasi yang dilakukan dalam rutinitas DriverEntry . Setiap inisialisasi yang tergantung pada RDBSS harus dilakukan sebagai bagian dari rutinitas ini sementara inisialisasi yang independen dari RDBSS harus dilakukan dalam rutinitas DriverEntry .

Sebelum memanggil MRxStart, RDBSS memodifikasi anggota berikut dalam struktur RX_CONTEXT yang ditujukkan oleh parameter RxContext :

Anggota MajorFunction diatur ke fungsi utama IRP.

Anggota LowIoContext.ParamsFor.FsCtl.FsControlCode diatur ke kode FSCTL untuk IRP jika ini adalah permintaan FSTCL yang digunakan untuk memulai pengalihan mini jaringan.

MRxStart dipanggil oleh RDBSS dari rutinitas RxStartMinirdr . Sebelum memanggil MRxStart, RDBSS akan mendaftarkan RxDeviceObject dari pengalih mini jaringan sebagai sistem file. RDBSS juga akan mendaftarkan pengalih mini jaringan sebagai penyedia UNC jika pengalih mini jaringan menunjukkan dukungan untuk nama UNC.

Jika MRxStart mengembalikan STATUS_SUCCESS, maka rutinitas berhasil. Nilai pengembalian lainnya menunjukkan bahwa terjadi kesalahan dalam urutan startup.

Jika MRxStart mengembalikan STATUS_SUCCESS, RDBSS menetapkan status RDBSS ke RDBSS_STARTED. Status ini disimpan di anggota StartStopContext.State dari struktur RDBSS_DEVICE_OBJECT yang ditunjukkan oleh RxDeviceObject.

Pengalih mini jaringan biasanya akan mempertahankan variabel internal yang menunjukkan apakah pengalih mini jaringan dimulai. Misalnya, pengalih mini jaringan mungkin melacak kapan dihentikan, dimulai, dan ketika operasi mulai atau operasi berhenti sedang berlangsung.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header mrx.h (termasuk Mrx.h)

Lihat juga

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr