Fungsi FsRtlRegisterUncProvider (ntifs.h)

Rutinitas FsRtlRegisterUncProvider mendaftarkan pengalihan jaringan sebagai penyedia konvensi penamaan universal (UNC) dengan sistem beberapa penyedia UNC (MUP).

Sintaks

NTSTATUS FsRtlRegisterUncProvider(
  [out] PHANDLE          MupHandle,
        PCUNICODE_STRING RedirectorDeviceName,
  [in]  BOOLEAN          MailslotsSupported
);

Parameter

[out] MupHandle

Penunjuk ke lokasi untuk mengembalikan handel MUP yang akan digunakan saat memanggil FsRtlRegisterUncProvider untuk membatalkan pendaftaran pengalihan jaringan. Handel yang dikembalikan hanya valid jika FsRtlRegisterUncProvider mengembalikan STATUS_SUCCESS.

RedirectorDeviceName

Penunjuk ke string Unicode yang berisi nama perangkat pengalih jaringan.

[in] MailslotsSupported

Atur ke TRUE jika pengalih jaringan mendukung mailslots. Opsi ini biasanya dicadangkan untuk digunakan oleh pengalih Microsoft SMB.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_ACCESS_DENIED
Mode eksekusi pemohon asli untuk operasi IRP yang dikirim ke MUP bukan dari mode kernel.
STATUS_ACCESS_VIOLATION
Pelanggaran akses terjadi saat mencoba akses ke perangkat MUP.
STATUS_DATATYPE_MISALIGNMENT
Ada ketidakselarasan data.
STATUS_INSUFFICIENT_RESOURCES
Tidak tersedia cukup sumber daya untuk mengalokasikan memori untuk buffer.
STATUS_INVALID_HANDLE
Parameter yang tidak valid diteruskan ke MUP di IRP.
STATUS_INVALID_USER_BUFFER
Parameter yang tidak valid diteruskan dalam parameter RedirDevName atau penghentian abnormal terjadi.

Keterangan

Pengalih jaringan harus mendaftar dengan MUP untuk menangani nama UNC. MUP adalah komponen mode kernel yang bertanggung jawab untuk menyalurkan semua akses sistem file jarak jauh menggunakan nama Universal Naming Convention (UNC) ke pengalih jaringan (penyedia UNC) yang mampu menangani permintaan sistem file jarak jauh. MUP terlibat ketika jalur UNC digunakan oleh aplikasi seperti yang diilustrasikan oleh contoh berikut yang dapat dijalankan dari baris perintah:

notepad \\server\public\readme.txt

MUP tidak terlibat selama operasi yang membuat huruf drive yang dipetakan (perintah "NET USE", misalnya). Operasi ini ditangani oleh beberapa router penyedia (MPR) dan DLL penyedia WNet mode pengguna untuk pengalihan jaringan. Namun, DLL penyedia WNet mode pengguna mungkin berkomunikasi langsung dengan driver pengalih jaringan mode kernel selama operasi ini.

Pada Windows Server 2003, Windows XP, dan Windows 2000, operasi file jarak jauh yang dilakukan pada drive yang dipetakan yang tidak mewakili drive Distributed File System (DFS) tidak melalui MUP. Operasi ini langsung masuk ke penyedia jaringan yang menangani pemetaan huruf kandar.

Untuk pengalihan jaringan yang sesuai dengan model Windows Vistaredirector, MUP terlibat bahkan ketika drive jaringan yang dipetakan digunakan. Operasi file yang dilakukan pada drive yang dipetakan melalui MUP ke pengalih jaringan. Perhatikan bahwa dalam hal ini MUP hanya meneruskan operasi ke pengalih jaringan yang terlibat.

Pengalih jaringan yang sesuai dengan model pengalihan Windows Vista harus menggunakan FsRtlRegisterUncProviderEx, bukan FsRtlRegisterUncProvider.

FsRtlRegisterUncProvider mengirimkan kontrol sistem file privat (FSCTL) ke MUP untuk melakukan pendaftaran.

Nilai registri ProviderOrder menentukan urutan di mana MUP mengeluarkan permintaan resolusi awalan ke pengalih jaringan individual. Nilai registri ini terletak di bawah kunci registri berikut:

HKLM\CurrentControlSet\Control\NetworkProvider\Order

Perubahan pada nilai registri ProviderOrder memerlukan boot ulang untuk diterapkan di MUP pada Windows Server 2003, Windows XP, dan Windows 2000.

Hanya satu penyedia jaringan pada sistem yang dapat mendukung mailslots. Jadi parameter MailslotsSupported biasanya hanya diatur ke TRUE untuk pengalih Microsoft SMB.

Driver yang memanggil IoCreateDevice untuk membuat objek perangkat untuk pengalihan jaringan yang mendaftar sebagai penyedia UNC (driver yang memanggil FsRtlRegisterUncProvider) harus meneruskan FILE_REMOTE_DEVICE sebagai salah satu opsi dalam parameter DeviceCharacteristics yang diteruskan ke IoCreateDevice.

Untuk membatalkan pendaftaran penyedia UNC, gunakan FsRtlDeregisterUncProvider dan lewati parameter MupHandle .

Jika driver mendaftar sebagai sistem file disk lokal (memanggil IoCreateDevice dengan parameter DeviceType yang diatur ke FILE_DEVICE_DISK_FILE_SYSTEM daripada FILE_NETWORK_FILE_SYSTEM, misalnya), driver tidak boleh memanggil FsRtlRegisterUncProvider untuk mendaftar sebagai penyedia UNC dengan MUP.

Untuk informasi selengkapnya, lihat bagian berikut ini di Panduan Desain:

Dukungan untuk Penamaan UNC dan MUP

Perubahan MUP di Microsoft Windows Vista

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Lihat juga

FsRtlDeregisterUncProvider

FsRtlRegisterUncProviderEx

IOCTL_REDIR_QUERY_PATH_EX

IoCreateDevice