Bagikan melalui


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.

Sintaks

DWORD QueryDosDeviceW(
  [in, optional] LPCWSTR lpDeviceName,
  [out]          LPWSTR  lpTargetPath,
  [in]           DWORD   ucchMax
);

Parameter

[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.

Nilai kembali

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.

Keterangan

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.

Contoh

Misalnya, lihat Mendapatkan Nama File Dari Handel File atau Menampilkan Jalur Volume.

Persyaratan

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

Lihat juga

DefineDosDevice

Fungsi Manajemen Volume