IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL (mountmgr.h)

Dukungan untuk IOCTL ini oleh klien manajer pemasangan adalah wajib. Setelah menerima IOCTL ini, driver klien harus memberikan nama perangkat (atau target) (atau target) (nonpersisten) untuk volume. Manajer pemasangan menggunakan nama perangkat yang dikembalikan oleh klien sebagai target tautan simbolis. Contoh nama perangkat adalah "\Device\HarddiskVolume1".

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer output

Klien manajer pemasangan mengembalikan struktur panjang variabel jenis MOUNTDEV_NAME, yang ditentukan dalam Mountmgr.h, di awal buffer di Irp-AssociatedIrp.SystemBuffer>. Nama perangkat harus dimasukkan ke alamat yang ditujukan oleh anggota Nama struktur ini.

Panjang buffer output

Parameters.DeviceIoControl.OutputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer output, yang harus lebih besar dari atau sama dengan sizeof(MOUNTDEV_NAME).

Blok status

Bidang Informasi diatur ke FIELD_OFFSET(MOUNTDEV_NAME, Nama) + output-NameLength>, atau sebagai alternatif, output-NameLength> + sizeof(USHORT), di mana output menunjuk ke buffer di Irp-AssociatedIrp.SystemBuffer>

Jika operasi berhasil, klien manajer pemasangan harus mengatur bidang Informasi ke panjang string yang dihentikan NULL yang berisi nama perangkat dan bidang Status ke STATUS_SUCCESS.

Jika buffer output terlalu kecil untuk menahan nama perangkat, klien manajer pemasangan harus mengatur bidang Informasi ke sizeof(MOUNTDEV_NAME) dan bidang Status ke STATUS_BUFFER_OVERFLOW. Selain itu, klien manajer pemasangan mengisi anggota NameLength dari struktur MOUNTDEV_NAME .

Keterangan

Sebagai praktik terbaik, pelaksana tidak boleh menyinkronkan utas dan tidak boleh melakukan pemblokiran dan/atau panggilan fungsi Interprocess Communication (IPC).

Persyaratan

Persyaratan Nilai
Header mountmgr.h (termasuk Mountmgr.h)

Lihat juga

MOUNTDEV_NAME