Bagikan melalui


Fungsi DefineDosDeviceW (fileapi.h)

Menentukan, mendefinisikan ulang, atau menghapus nama perangkat MS-DOS.

Sintaks

BOOL DefineDosDeviceW(
  [in]           DWORD   dwFlags,
  [in]           LPCWSTR lpDeviceName,
  [in, optional] LPCWSTR lpTargetPath
);

Parameter

[in] dwFlags

Aspek yang dapat dikontrol dari fungsi DefineDosDevice . Parameter ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
DDD_EXACT_MATCH_ON_REMOVE
0x00000004
Jika nilai ini ditentukan bersama dengan DDD_REMOVE_DEFINITION, fungsi akan menggunakan kecocokan yang tepat untuk menentukan pemetaan mana yang akan dihapus. Gunakan nilai ini untuk memastikan bahwa Anda tidak menghapus sesuatu yang tidak Anda tentukan.
DDD_NO_BROADCAST_SYSTEM
0x00000008
Jangan menyiarkan pesan WM_SETTINGCHANGE . Secara default, pesan ini disiarkan untuk memberi tahu shell dan aplikasi perubahan.
DDD_RAW_TARGET_PATH
0x00000001
Menggunakan string lpTargetPath apa adanya. Jika tidak, itu dikonversi dari jalur MS-DOS ke jalur.
DDD_REMOVE_DEFINITION
0x00000002
Menghapus definisi yang ditentukan untuk perangkat yang ditentukan. Untuk menentukan definisi mana yang akan dihapus, fungsi ini memandu daftar pemetaan untuk perangkat, mencari kecocokan lpTargetPath terhadap awalan setiap pemetaan yang terkait dengan perangkat ini. Pemetaan pertama yang cocok adalah yang dihapus, lalu fungsi kembali.

Jika lpTargetPath adalah NULL atau penunjuk ke string NULL , fungsi akan menghapus pemetaan pertama yang terkait dengan perangkat dan memunculkan yang terbaru yang didorong. Jika tidak ada yang tersisa untuk pop, nama perangkat akan dihapus.

Jika nilai ini tidak ditentukan, string yang ditujukkan oleh parameter lpTargetPath akan menjadi pemetaan baru untuk perangkat ini.

[in] lpDeviceName

Penunjuk ke string nama perangkat MS-DOS yang menentukan perangkat yang fungsinya menentukan, mendefinisikan ulang, atau menghapus. String nama perangkat tidak boleh memiliki titik dua sebagai karakter terakhir, kecuali huruf drive sedang ditentukan, didefinisikan ulang, atau dihapus. Misalnya, drive C akan menjadi string "C:". Dalam kasus apa pun, garis miring terbelakang berikutnya (\) diperbolehkan.

[in, optional] lpTargetPath

Penunjuk ke string jalur yang akan mengimplementasikan perangkat ini. String adalah string jalur MS-DOS kecuali bendera DDD_RAW_TARGET_PATH ditentukan, dalam hal ini string adalah string jalur.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

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 DefineDosDevice memungkinkan aplikasi untuk memodifikasi persimpangan yang digunakan untuk mengimplementasikan namespace perangkat MS-DOS.

Untuk mengambil pemetaan saat ini untuk nama perangkat MS-DOS tertentu atau untuk mendapatkan daftar semua perangkat MS-DOS yang diketahui oleh sistem, gunakan fungsi QueryDosDevice .

Untuk menentukan penetapan huruf kandar yang persisten di seluruh boot dan bukan berbagi jaringan, gunakan fungsi SetVolumeMountPoint . Jika volume yang akan dipasang sudah memiliki huruf kandar yang ditetapkan padanya, gunakan fungsi DeleteVolumeMountPoint untuk menghapus penugasan.

Huruf kandar dan nama perangkat yang ditentukan pada waktu boot sistem dilindungi dari pendefinisian ulang dan penghapusan kecuali pengguna adalah administrator.

Dimulai dengan Windows XP, fungsi ini membuat nama perangkat untuk pemanggil yang tidak berjalan dalam konteks "LocalSystem" di namespace perangkat MS-DOS Lokalnya sendiri. Jika pemanggil berjalan dalam konteks "LocalSystem", fungsi membuat nama perangkat di namespace perangkat MS-DOS Global. Untuk informasi selengkapnya, lihat Menentukan Nama Perangkat MS DOS dan Nama File, Jalur, dan Namespace.

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 Berbagi File Peluasan Skala (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Tidak
Sistem File Tangguh (ReFS) Tidak
 

SMB tidak mendukung fungsi manajemen volume. Untuk CsvF, nama baru tidak akan direplikasi ke node lain pada kluster.

Contoh

Misalnya, lihat Mengedit Penetapan Huruf Drive.

Persyaratan

   
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

DeleteVolumeMountPoint

QueryDosDevice

SetVolumeMountPoint

Fungsi Manajemen Volume