Arquitetura do WDF
O WDF fornece interfaces baseadas em objeto para drivers. As interfaces de objeto definidas pela estrutura consistem em:
Métodos de objeto
Métodos são funções que um driver pode chamar para executar uma operação no objeto ou para obter ou definir uma propriedade de objeto. Os métodos são chamados de ObjectActionWdf, em que Object descreve o objeto e Action indica o que a função faz. Por exemplo, WdfDeviceCreate cria um objeto de dispositivo.
Funções de retorno de chamada de evento de objeto
As funções de retorno de chamada de evento são funções que um driver fornece. Cada função de retorno de chamada de evento é associada a um evento específico que pode ocorrer em um objeto . A estrutura chama a função de retorno de chamada de evento quando o evento associado ocorre. Por convenção, os espaços reservados para funções de retorno de chamada de evento são chamados deEvt ObjectEvent, embora você possa nomear esses retornos de chamada qualquer coisa que você escolher em seu driver. Por exemplo, um driver registra o retorno de chamada de evento EvtDeviceD0Entry para ser notificado quando seu dispositivo entra no estado de trabalho.
Propriedades do objeto
As propriedades são valores armazenados em um objeto e que um driver pode obter (ou seja, obter) e definir (ou seja, alterar). Em muitos casos, as propriedades são mapeadas diretamente para os campos nos objetos WDM correspondentes. As propriedades que não podem falhar são denominadas Valor de Obtenção de ObjetoWdfeValordo Conjunto de ObjetosWdf, e as propriedades que podem falhar são nomeadas Valor de Recuperação de ObjetoWdfeValorde Atribuição deObjetoWdf. O objeto descreve o objeto e Value identifica os dados que a função define ou retorna. Por exemplo, WdfDeviceGetDriver retorna um identificador para o objeto de driver associado ao objeto do dispositivo.
Identificadores de objeto
Um driver baseado em estrutura nunca acessa diretamente objetos de estrutura. Em vez disso, o driver recebe identificadores de objeto, que podem ser passados para os métodos de um objeto.
A estrutura define vários tipos de objeto que os drivers baseados em estrutura usam:
Um objeto de driver de estrutura representa cada driver.
Um objeto de dispositivo de estrutura representa cada dispositivo ao qual um driver dá suporte.
Os objetos de fila da estrutura representam filas de E/S que recebem as solicitações de E/S de um dispositivo.
Os objetos de solicitação de estrutura representam solicitações de E/S que cada fila de E/S recebe.
Para obter uma lista de todos os objetos que a estrutura define, consulte Resumo de objetos de estrutura.