IOCTL_MOUNTMGR_QUERY_POINTS IOCTL (mountmgr.h)

IOCTL ini mengembalikan tiga kali lipat yang terdiri dari nama tautan simbolis persisten untuk volume (yaitu, titik pemasangan), ID unik untuk volume, dan nama perangkat yang tidak konsisten (seperti "\Device\HarddiskVolume1") untuk volume. Input ke IOCTL ini adalah struktur MOUNTMGR_MOUNT_POINT yang berisi satu tiga kali lipat.

Jika tiga kali lipat input berisi ID unik atau nama perangkat yang tidak persisten, permintaan mengambil semua titik pemasangan terkait (tautan simbolis), termasuk nama jalur GUID volume dan huruf drive. Namun, jika tiga input memiliki tautan simbolis, tetapi tidak menentukan ID unik atau nama perangkat, permintaan hanya mengembalikan satu tiga kali lipat yang berisi tautan simbolis yang disediakan dalam input, bersama dengan ID unik dan nama perangkat. Pemanggil harus mengirimkan IOCTL lain dengan ID unik atau nama perangkat untuk mengambil titik pemasangan yang tersisa.

Jika tiga kali input kosong, manajer pemasangan mengembalikan seluruh daftar perangkat yang dipasang.

Manajer pemasangan mengembalikan tiga kali lipat yang cocok dengan info sebanyak yang disediakan oleh pemanggil. Jika pemanggil mengirimkan ID unik, manajer pemasangan mengembalikan semua tiga kali lipat dengan ID unik tersebut. Jika penelepon memasukkan nama jalur volume atau huruf drive sebagai nama tautan simbolis, manajer pemasangan hanya mengembalikan tiga kali lipat untuk tautan simbolis. Ada satu entri per tautan simbolis. Jika pemanggil memasukkan nama jalur perangkat, manajer pemasangan hanya mengembalikan tiga kali lipat untuk nama jalur perangkat tersebut. Jika penelepon memasukkan ID unik dan tautan simbolis, sekali lagi, manajer pemasangan hanya mengembalikan satu entri untuk tautan simbolis tersebut. Pemanggil akan melakukan ini untuk mendapatkan nama jalur perangkat. Jika pemanggil tidak memasukkan nama jalur perangkat, ID unik, atau tautan simbolis, manajer pemasangan mengembalikan semua entri/tiga kali lipat.

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

Klien manajer pemasangan menginisialisasi struktur MOUNTMGR_MOUNT_POINT, yang ditentukan dalam Mountmgr.h, di awal buffer di Irp-AssociatedIrp.SystemBuffer>. Segera mengikuti struktur ini, klien MM memuat nama tautan simbolis, ID unik dan nama perangkat, dalam urutan tersebut.

Panjang buffer input

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

Buffer output

Manajer pemasangan menginisialisasi struktur panjang variabel jenis MOUNTMGR_MOUNT_POINTS, yang ditentukan dalam Mountmgr.h, di awal buffer di Irp-AssociatedIrp.SystemBuffer>. Manajer pemasangan menyisipkan titik pemasangan, yang terkait dengan volume yang ditunjukkan, pada alamat yang ditunjukkan oleh anggota MountPoints[] dari struktur ini. Setiap titik pemasangan diwakili oleh struktur MOUNTMGR_MOUNT_POINT seperti yang didefinisikan dalam bagian Input untuk IOCTL ini.

Blok status

Jika operasi berhasil, bidang Status diatur ke STATUS_SUCCESS.

Jika ID unik maupun nama perangkat yang tidak konsisten tidak ditemukan dalam daftar perangkat yang dipasang volume, bidang Status diatur ke STATUS_INVALID_PARAMETER.

Jika InputBufferLength kurang dari sizeof(MOUNTMGR_MOUNT_POINT), bidang Status diatur ke STATUS_INVALID_PARAMETER.

Jika InputBufferLength kurang dari panjang total tiga string ID input, bidang Status diatur ke STATUS_INVALID_PARAMETER.

Jika OutputBufferLength kurang dari sizeof(MOUNTMGR_MOUNT_POINT), bidang Status diatur ke STATUS_INVALID_PARAMETER.

Jika OutputBufferLength kurang dari sizeof(MOUNTMGR_MOUNT_POINTS) ditambah jumlah ukuran titik pemasangan tiga kali lipat, bidang Status diatur ke STATUS_BUFFER_OVERFLOW.

Jika salah satu dari tiga string yang terkandung dalam salah satu triple diratakan pada alamat ganjil (misalnya, alamat & 01 != 0), bidang Status diatur ke STATUS_INVALID_PARAMETER.

Persyaratan

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

Lihat juga

MOUNTMGR_MOUNT_POINTS