Estou confuso com notação como
multi (0) disco (0) rdisk (0) partição (1) \ ...
e
\ Device \ HardDisk1 \ DR1 \ Device \ Video0
Eu vejo esses endereços apenas no contexto de sistemas operacionais baseados no Windows NT, como Windows XP e Windows 7. O que esses endereços significam e como eles são usados para se referir a dispositivos como discos rígidos, adaptadores gráficos, dispositivos de interface humana (teclados , mouse, etc.), adaptadores de rede e outro hardware?
/dev
nós para permitir acesso direto ao hardware. O que eu quero entender é o que parece ser um mecanismo semelhante para endereçar e acessar o hardware no Windows.Respostas:
Ao contrário da crença popular, o kernel do Windows não tem um arquivo enraizado sistema ( "file"). No * nix, a raiz é
/
e no Windows é\
. O subsistema Win32 não o expõe, no entanto. Você pode explorá-lo com o WinObj .Alguns nomes de dispositivos NT (possivelmente familiares) (
M
eN
são apenas números inteiros):\Device\HarddiskM\DRN
: Discos\Device\HarddiskVolumeN
: Partições\Device\CdRomN
: Unidades de disco óptico\Device\KeyboardClassN
: Teclados\Device\MountPointManager
: Não é um dispositivo, mas mantém o controle de dispositivos de armazenamento\Device\Null
: Consome dados e gera nulos (zeros)\Device\HardDisk1\DR1
é o nome verdadeiro do disco para o Windows emulti(0)disk(0)rdisk(0)partition(1)
é legado - não tem nada a ver com a maneira como o Windows se refere aos dispositivos, mas como o carregador de inicialização se refere ao disco. Como funciona, não faço ideia ( esta página explica partes dela ), mas não é realmente algo com que o Windows se preocupe depois que inicia a inicialização.As versões mais recentes do Windows usam o BCD (Boot Configuration Data), que é um arquivo
BCD
cujo formato é semelhante ao do registro, em vez deBoot.ini
. Geralmente, ele usa identificadores exclusivos (GUIDs) para se referir a volumes, em vez de letras de unidade ou caminhos do sistema de arquivos, e é o que as versões mais recentes do Windows usam.fonte
\Device\Video0
)?A primeira linha, que ficou obsoleta pelo BCD (armazenamento de dados de configuração de inicialização) no Windows Vista, Windows 7 e Server 2008, é de um arquivo boot.ini para Windows XP ou Server 2003 e está localizada no diretório raiz da unidade do sistema. Isso indica ao Windows para onde ir (que disco e partição) para encontrar os arquivos do sistema necessários para inicializar.
Procure aqui uma explicação detalhada de "multi" e "rdisk". O resto significa que olhe para o disco 0 (eles começam em 0 e avançam a partir daí, e você pode ver seus números no gerenciador de discos), partição 1 (ao contrário dos discos, estes começam a ser numerados em 1 e aumentam).
http://support.microsoft.com/kb/102873
No que diz respeito à enumeração de dispositivos, é um assunto de programação muito complicado, que é explicado aqui se você deseja que sua cabeça exploda. O formato que você forneceu é como o dispositivo é endereçado como uma ID de hardware no registro.
Por uma questão prática, você pode olhar para essa chave do registro
para corresponder a qualquer erro, você pode obter um valor de "ID de hardware" em uma das subchaves para determinar exatamente a qual dispositivo o erro pode se referir.
fonte