Hierarquia de objetos framework

Aviso

O UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2.

Os exemplos umdf 1 arquivados podem ser encontrados no Windows 11, versão 22H2 – Atualização de exemplos de driver de maio de 2022.

Para obter mais informações, consulte Introdução com UMDF.

A figura a seguir mostra a hierarquia de objetos da estrutura pai-filho.

hierarquia de objetos pai-filho umdf.

O escopo de tempo de vida dos objetos de estrutura é determinado por sua localização na hierarquia e como os objetos são criados. O escopo de tempo de vida dos objetos de estrutura se enquadra em uma das seguintes categorias:

  • A estrutura controla a criação e a destruição dos objetos.

    A estrutura cria e destrói objetos, como o objeto driver e o objeto de dispositivo, em resposta a eventos do sistema. Quando um driver de modo de usuário chama o método IWDFDriver::CreateDevice para criar o objeto de dispositivo, o driver pode se registrar opcionalmente para ser notificado pela estrutura antes que o objeto do dispositivo seja destruído.

  • A estrutura cria o objeto ; no entanto, o driver controla quando o objeto é liberado.

    O objeto de solicitação de E/S segue esse padrão quando a E/S é apresentada ao driver. A estrutura cria o objeto de solicitação e o tempo de vida do objeto de solicitação é válido até que o driver chame o método IWDFIoRequest::Complete .

  • O driver cria o objeto e associa o objeto a outro objeto de estrutura.

    Alguns objetos de estrutura são criados por um método que é exposto por uma instância de objeto de estrutura pai à qual os objetos devem ser associados para fins de gerenciamento de tempo de vida. O método IWDFDevice::CreateIoQueue é um exemplo desse padrão. Se uma chamada para IWDFDevice::CreateIoQueue for bem-sucedida, a fila de E/S recém-criada será associada à instância do dispositivo que a interface IWDFDevice representa. Quando o objeto pai é destruído, a estrutura limpa automaticamente as instâncias filho. Os drivers serão notificados desses eventos se os drivers registrarem funções de retorno de chamada apropriadas com a estrutura.