Introdução aos objetos framework

As interfaces que o WDF (Windows Driver Frameworks) fornece aos drivers são baseadas em objeto. A estrutura define vários objetos. Esses objetos exportam métodos (funções) e propriedades (dados) que os drivers podem acessar. Os objetos framework também iniciam eventos, aos quais os drivers podem dar suporte fornecendo funções de retorno de chamada de evento.

Os drivers baseados em estrutura nunca acessam diretamente objetos de estrutura. Em vez disso, os drivers fazem referência aos objetos por identificadores, que o driver passa como entrada para métodos de objeto.

Todos os objetos de estrutura têm as seguintes características:

Contagem de referência
A estrutura mantém uma contagem do número de referências a cada objeto. Quando a estrutura cria um objeto, ela define a contagem de referência do objeto como um. Quando a estrutura terminar de usar um objeto , ela diminuirá a contagem de referências. A estrutura não pode excluir o objeto até que a contagem de referência seja decrementada para zero, portanto, os drivers podem impedir a exclusão de um objeto incrementando sua contagem de referência.

Espaço de contexto
Os drivers baseados em estrutura podem criar espaço de contexto específico do objeto para cada objeto de estrutura que o driver recebe ou cria. Os drivers devem armazenar todos os dados específicos do objeto no espaço de contexto de um objeto. Para obter mais informações sobre o espaço de contexto, consulte Espaço de contexto do objeto framework.

Funções de retorno de chamada de exclusão
Os drivers podem registrar funções de retorno de chamada que a estrutura chama quando está excluindo um objeto. As funções de retorno de chamada podem remover recursos atribuídos pelo driver, como alocações de memória específicas do objeto. Para obter mais informações sobre essas funções de retorno de chamada, consulte Ciclo de vida do objeto framework.

Objeto pai
Todos os objetos de estrutura podem ter um objeto pai. A estrutura designa um objeto pai padrão para a maioria dos objetos. Quando um driver cria um objeto , ele pode designar um objeto pai que substitui o objeto pai padrão do objeto. Para designar o objeto pai de um objeto, os drivers definem o membro ParentObject da estrutura WDF_OBJECT_ATTRIBUTES do objeto. (Para alguns tipos de objeto, os drivers não podem substituir o objeto pai padrão.) Quando a estrutura ou um driver exclui um objeto pai, a estrutura também exclui os filhos do objeto pai.

Para obter uma visão geral de todos os objetos definidos pelo WDF, consulte Resumo de objetos de estrutura.