Estrutura DRIVEROBJ (winddi.h)
A estrutura DRIVEROBJ é usada para rastrear um recurso, alocado por um driver, que requer o uso de serviços GDI. Uma estrutura DRIVEROBJ permite que um driver de exibição solicite o serviço GDI no gerenciamento de recursos por processo. Ao criar uma estrutura DRIVEROBJ, um driver de exibição pode garantir que os recursos serão liberados quando um aplicativo for encerrado.
Sintaxe
typedef struct _DRIVEROBJ {
PVOID pvObj;
FREEOBJPROC pFreeProc;
HDEV hdev;
DHPDEV dhpdev;
} DRIVEROBJ;
Membros
pvObj
Ponteiro para o recurso de driver que será rastreado pela estrutura DRIVEROBJ. O recurso está associado ao processo do cliente atual.
pFreeProc
Ponteiro para uma função de retorno de chamada fornecida pelo driver que libera o recurso apontado por pvObj. Essa função de retorno de chamada tem o seguinte protótipo:
BOOL (CALLBACK * FREEOBJPROC) (DRIVEROBJ * pDriverObj);
A função de retorno de chamada retornará TRUE se for capaz de liberar o recurso e, caso contrário, FALSE .
hdev
Identificador GDI para o dispositivo físico associado ao objeto .
dhpdev
Ponteiro para os dados da instância privada do driver; ou seja, esse membro identifica o PDEV do driver.
Comentários
Uma estrutura DRIVEROBJ permite que um driver de exibição solicite o serviço GDI no gerenciamento de recursos por processo. Ao criar uma estrutura DRIVEROBJ, um driver de exibição pode garantir que os recursos serão liberados quando um aplicativo for encerrado.
Alguns drivers, em seu suporte ao Escape, alocam recursos em nome de aplicativos. Nesses casos, a estrutura DRIVEROBJ fornece um meio para o aplicativo notificar o driver quando ele for encerrado. A GDI chamará a função de limpeza do driver para cada estrutura DRIVEROBJ alocada no contexto de um aplicativo que não é excluído antes do encerramento do aplicativo.
Essa estrutura fornece um mecanismo de bloqueio para acesso exclusivo ao recurso associado.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | winddi.h (inclua Winddi.h) |