Rutinitas MRxLowIOSubmit[LOWIO_OP_IOCTL]
Rutinitas MRxLowIOSubmit[LOWIO_OP_IOCTL] dipanggil oleh RDBSS untuk mengeluarkan permintaan kontrol sistem I/O ke pengalihan mini jaringan.
Sintaks
PMRX_CALLDOWN MRxLowIOSubmit[LOWIO_OP_IOCTL];
NTSTATUS MRxLowIOSubmit[LOWIO_OP_IOCTL](
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parameter
RxContext [masuk, keluar]
Penunjuk ke struktur RX_CONTEXT. Parameter ini berisi IRP yang meminta operasi.
Mengembalikan nilai
MRxLowIOSubmit[LOWIO_OP_IOCTL] mengembalikan STATUS_SUCCESS 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 permintaan. |
STATUS_INVALID_DEVICE_REQUEST | Permintaan perangkat yang tidak valid ditentukan. |
STATUS_INVALID_PARAMETER | Parameter yang tidak valid ditentukan dalam RxContext. |
STATUS_NOT_IMPLEMENTED | Rutinitas ini tidak diimplementasikan. |
STATUS_NOT_SUPPORTED | IOCTL yang ditentukan tidak didukung oleh pengalih mini jaringan. |
Keterangan
RDBSS memanggil MRxLowIOSubmit[LOWIO_OP_IOCTL] sebagai tanggapan untuk menerima permintaan IRP_MJ_DEVICE_CONTROL atau IRP_MJ_INTERNAL_DEVICE_CONTROL .
Sebelum memanggil MRxLowIOSubmit[LOWIO_OP_IOCTL], RDBSS memodifikasi anggota berikut dalam struktur RX_CONTEXT yang ditunjukkan oleh parameter RxContext :
Anggota LowIoContext.Operation diatur ke LOWIO_OP_IOCTL.
Anggota LowIoContext.ResourceThreadId diatur ke utas proses yang memulai operasi di RDBSS.
Anggota LowIoContext.ParamsFor.IoCtl.IoControlCode diatur ke kode kontrol IOCTL.
Anggota LowIoContext.ParamsFor.IoCtl.pInputBuffer diatur ke buffer input.
Anggota LowIoContext.ParamsFor.IoCtl.InputBufferLength diatur ke panjang buffer input.
Anggota LowIoContext.ParamsFor.IoCtl.pOutputBuffer diatur ke buffer output.
Anggota LowIoContext.ParamsFor.IoCtl.OutputBufferLength diatur ke panjang buffer output.
Sementara rutinitas MRxLowIOSubmit[LOWIO_OP_IOCTL] sedang diproses, anggota LowIoContext.ResourceThreadId RX_CONTEXT dijamin menunjukkan utas proses yang memulai operasi di RDBSS. Anggota LowIoContext.ResourceThreadId dari RX_CONTEXT dapat digunakan untuk merilis sumber daya input atas nama utas lain. Ketika rutinitas asinkron selesai, sumber daya input yang diperoleh dari utas awal dapat dirilis.
Persyaratan
Platform target |
Desktop |
Header |
Mrx.h (termasuk Mrx.h) |
Lihat juga
MRxLowIOSubmit[LOWIO_OP_EXCLUSIVELOCK]
MRxLowIOSubmit[LOWIO_OP_FSCTL]
MRxLowIOSubmit[LOWIO_OP_NOTIFY_CHANGE_DIRECTORY]
MRxLowIOSubmit[LOWIO_OP_SHAREDLOCK]
MRxLowIOSubmit[LOWIO_OP_UNLOCK]