共用方式為


MS-DOS 裝置名稱簡介

非 WDM 驅動程式所建立的具名裝置物件通常具有 MS-DOS 裝置名稱。 MS-DOS 裝置名稱是物件管理員中的符號連結,其格式為 \DosDevices\DosDeviceName

MS-DOS 裝置名稱為序列埠 COM1 的裝置範例。 它有 MS-DOS 裝置名稱 \DosDevices\COM1。 同樣地,C 磁片磁碟機的名稱為 \DosDevices\C:

WDM 驅動程式通常不會為其裝置提供 MS-DOS 裝置名稱。 相反地,WDM 驅動程式會使用 IoRegisterDeviceInterface 常式來註冊裝置介面。 裝置介面會依裝置的功能來指定裝置,而不是依特定命名慣例來指定裝置。 如需詳細資訊,請參閱 裝置介面類別別

只有在需要裝置具有特定的已知 MS-DOS 裝置名稱,才能提供 MS-DOS 裝置名稱,才能使用使用者模式程式。

驅動程式會使用 IoCreateSymbolicLink 常式為裝置物件提供 MS-DOS 裝置名稱,以建立裝置的符號連結。 例如,下列程式碼範例會從 \DosDevices\DosDeviceName 建立符號連結至 \Device\DeviceName

UNICODE_STRING DeviceName;
UNICODE_STRING DosDeviceName;
NTSTATUS status;

RtlInitUnicodeString(&DeviceName, L"\\Device\\DeviceName");
RtlInitUnicodeString(&DosDeviceName, L"\\DosDevices\\DosDeviceName");
status = IoCreateSymbolicLink(&DosDeviceName, &DeviceName);
if (!NT_SUCCESS(status)) {
  /* Symbolic link creation failed.  Handle error appropriately. */
}

請注意,系統支援 多個版本的 \DosDevices 目錄。 請確定您的驅動程式會在您想要的版本中建立其符號連結。 如需詳細資訊,請參閱 本機和全域 MS-DOS 裝置名稱

若要從使用者模式存取 DosDevices 命名空間,請在開啟檔案名時指定 \\.\ 。 您可以呼叫 CreateFile () ,在使用者模式中開啟對應的裝置。

例如,下列程式碼範例會在使用者模式中開啟 \\DosDevices\\DosDeviceName 裝置。

file = CreateFileW(L"\\\\.\\DosDeviceName",
  GENERIC READ | GENERIC WRITE,
    0,
    NULL,
    OPEN_EXISTING,
    0,
    NULL);

您也可以使用使用者模式 DefineDosDevice 常式,從使用者模式應用程式建立符號連結。 如需詳細資訊,請參閱Microsoft Windows SDK。