A pilha de driver do IEEE 1394
O diagrama a seguir ilustra a pilha de driver do IEEE 1394 com o novo driver de ônibus 1394 e os drivers de cliente 1394 compatíveis com a Microsoft.
Um driver cliente para um dispositivo que se conecta ao motorista de ônibus do IEEE 1394 fica na parte superior da pilha de driver do IEEE 1394. O driver de barramento fornece uma interface independente de hardware para o barramento IEEE 1394. O driver do dispositivo se comunica com o dispositivo enviando IRPs, que são processados pelo driver de ônibus do IEEE 1394. Antes do Windows 7, o motorista do ônibus era uma combinação de um driver de porta (1394bus.sys) e um driver de miniporto primário para o controlador de host da placa-mãe (ochi1394.sys). No Windows 7 e versões posteriores, os drivers de barramento de porta/miniport herdado são substituídos por 1394ohci.sys, um driver de ônibus monolítico IEEE 1394 implementado usando a estrutura de driver do modo kernel (KMDF). O 1394ohci.sys motorista de ônibus é totalmente compatível com versões anteriores com os motoristas de ônibus herdados 1394. Para obter mais informações sobre algumas diferenças conhecidas no comportamento entre o novo motorista de ônibus e os motoristas de ônibus herdados do 1394, consulte Driver de Ônibus do IEEE 1394 no Windows 7.
A ilustração a seguir mostra a relação entre os motoristas de ônibus herdados e os novos 1394.
Para emitir comandos para dispositivos conectados ao barramento, os motoristas emitem o IRP_MJ_DEVICE_CONTROL IRP, com código de controle IOCTL_1394_CLASS. O driver empacota os parâmetros em um IRB (bloco de solicitação de E/S) do IEEE 1394 e passa um ponteiro para ele no membro Parameters.Others.Argument1 do IRP. O membro FunctionNumber do IRB determina o tipo de operação e o membro u descreve a operação. O motorista do barramento usa o IRP IOCTL_1394_CLASS para apresentar uma interface para o barramento e o controlador de host.
A estrutura IRB contém parâmetros que se aplicam a cada solicitação de barramento e parâmetros específicos da solicitação. O membro u do IRB contém os parâmetros específicos da solicitação, em uma união de estruturas de dados, um por tipo de solicitação.
Durante a operação normal, os drivers recebem solicitações de E/S comuns (como IRP_MJ_READ), convertem-nas na operação IEEE 1394 apropriada e despacham essa operação para o dispositivo por meio de IOCTL_1394_CLASS.
Tópicos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários