Fungsi QueryDosDeviceW (fileapi.h)
Mengambil informasi tentang nama perangkat MS-DOS. Fungsi ini dapat memperoleh pemetaan saat ini untuk nama perangkat MS-DOS tertentu. Fungsi ini juga dapat memperoleh daftar semua nama perangkat MS-DOS yang ada.
Nama perangkat MS-DOS disimpan sebagai persimpangan di namespace objek. Kode yang mengonversi jalur MS-DOS menjadi jalur yang sesuai menggunakan persimpangan ini untuk memetakan perangkat MS-DOS dan huruf drive. Fungsi QueryDosDevice memungkinkan aplikasi untuk mengkueri nama persimpangan yang digunakan untuk mengimplementasikan namespace layanan perangkat MS-DOS serta nilai setiap persimpangan tertentu.
DWORD QueryDosDeviceW(
[in, optional] LPCWSTR lpDeviceName,
[out] LPWSTR lpTargetPath,
[in] DWORD ucchMax
);
[in, optional] lpDeviceName
String nama perangkat MS-DOS yang menentukan target kueri. Nama perangkat tidak boleh memiliki garis miring terbelakang; misalnya, gunakan "C:", bukan "C:\".
Parameter ini bisa NULL. Dalam hal ini, fungsi QueryDosDevice akan menyimpan daftar semua nama perangkat MS-DOS yang ada ke dalam buffer yang ditujukkan oleh lpTargetPath.
[out] lpTargetPath
Penunjuk ke buffer yang akan menerima hasil kueri. Fungsi mengisi buffer ini dengan satu atau beberapa string yang dihentikan null. String akhir yang dihentikan null diikuti oleh NULL tambahan.
Jika lpDeviceNamenon-NULL, fungsi mengambil informasi tentang perangkat MS-DOS tertentu yang ditentukan oleh lpDeviceName. String null-terminated pertama yang disimpan ke dalam buffer adalah pemetaan saat ini untuk perangkat. String null-terminated lainnya mewakili pemetaan sebelumnya yang tidak dihapus untuk perangkat.
Jika lpDeviceName adalah NULL, fungsi mengambil daftar semua nama perangkat MS-DOS yang ada. Setiap string null-terminated yang disimpan ke dalam buffer adalah nama perangkat MS-DOS yang ada, misalnya, \Device\HarddiskVolume1 atau \Device\Floppy0.
[in] ucchMax
Jumlah maksimum TCHAR yang dapat disimpan ke dalam buffer yang diacu oleh lpTargetPath.
Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah TCHAR yang disimpan ke dalam buffer yang ditujukkan oleh lpTargetPath.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Jika buffer terlalu kecil, fungsi gagal dan kode kesalahan terakhir adalah ERROR_INSUFFICIENT_BUFFER.
Fungsi DefineDosDevice memungkinkan aplikasi untuk membuat dan memodifikasi persimpangan yang digunakan untuk mengimplementasikan namespace perangkat MS-DOS.
Windows Server 2003 dan Windows XP: QueryDosDevice terlebih dahulu mencari namespace Layanan Perangkat MS-DOS Lokal untuk nama perangkat yang ditentukan. Jika nama perangkat tidak ditemukan, fungsi kemudian akan mencari namespace Perangkat MS-DOS Global.
Ketika semua nama perangkat MS-DOS yang ada dikueri, daftar nama perangkat yang dikembalikan tergantung pada apakah itu berjalan dalam konteks "LocalSystem". Jika demikian, hanya nama perangkat yang disertakan dalam namespace Layanan Perangkat MS-DOS Global yang akan dikembalikan. Jika tidak, perangkaian nama perangkat di namespace Layanan Perangkat MS-DOS Global dan Lokal akan dikembalikan. Jika nama perangkat ada di kedua namespace, QueryDosDevice akan mengembalikan entri di namespace Layanan Perangkat MS-DOS Lokal.
Untuk informasi selengkapnya tentang namespace Perangkat MS-DOS Global dan Lokal dan perubahan pada aksesibilitas nama perangkat MS-DOS, lihat Menentukan Nama Perangkat MS DOS.
Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.
Teknologi | Didukung |
---|---|
Protokol Server Message Block (SMB) 3.0 | Tidak |
SMB 3.0 Transparent Failover (TFO) | Tidak |
SMB 3.0 dengan Scale-out File Shares (SO) | Tidak |
Sistem File Volume Bersama Kluster (CsvFS) | Ya |
Sistem File Tangguh (ReFS) | Ya |
SMB tidak mendukung fungsi manajemen volume.
Misalnya, lihat Mendapatkan Nama File Dari Handel File atau Menampilkan Jalur Volume.
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | fileapi.h (sertakan Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |