Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um objeto de dispositivo nomeado que é criado por um driver não-WDM normalmente tem um nome de dispositivo MS-DOS. Um nome de dispositivo MS-DOS é um link simbólico no gerenciador de objetos com um nome do formato \DosDevices\DosDeviceName.
Um exemplo de um dispositivo com um nome de dispositivo MS-DOS é a porta serial, COM1. Ele tem o nome do dispositivo MS-DOS \DosDevices\COM1. Da mesma forma, a unidade C tem o nome \DosDevices\C:.
Os drivers WDM geralmente não fornecem nomes de dispositivos MS-DOS para os seus dispositivos. Em vez disso, os drivers WDM usam a rotina IoRegisterDeviceInterface para registrar uma interface de dispositivo. A interface do dispositivo especifica os dispositivos por suas capacidades, em vez de por uma convenção de nomenclatura específica. Para obter mais informações, consulte Classes de interface de dispositivo.
Os drivers são obrigados a fornecer um nome de dispositivo MS-DOS somente se o dispositivo for obrigado a ter um nome de dispositivo MS-DOS conhecido específico para trabalhar com programas de modo de usuário.
Um driver fornece um nome de dispositivo MS-DOS para um objeto de dispositivo usando a rotina IoCreateSymbolicLink para criar um link simbólico para o dispositivo. Por exemplo, o exemplo de código a seguir cria um link simbólico de \DosDevices\DosDeviceName para \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. */
}
Observe que o sistema suporta várias versões do diretório \DosDevices . Certifique-se de que seu driver cria seus links simbólicos na versão que você pretende. Para obter mais informações, consulte Nomes de dispositivos MS-DOS locais e globais.
Para acessar o namespace DosDevices do modo de usuário, especifique \\.\ ao abrir um nome de arquivo. Você pode abrir um dispositivo correspondente no modo de usuário chamando CreateFile().
Por exemplo, o exemplo de código a seguir abre o dispositivo \\DosDevices\\DosDeviceName no modo de usuário.
file = CreateFileW(L"\\\\.\\DosDeviceName",
GENERIC READ | GENERIC WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
Um link simbólico também pode ser criado a partir de um aplicativo de modo de usuário usando a rotina de modo de usuário DefineDosDevice . Para obter mais informações, consulte o SDK do Microsoft Windows.