EVT_SERCX_FILECLEANUP função de retorno de chamada (sercx.h)
A função de retorno de chamada de evento EvtSerCxFileCleanup notifica o driver do controlador serial de que um cliente fechou o último identificador para o objeto de arquivo que representa o dispositivo do controlador serial.
Sintaxe
EVT_SERCX_FILECLEANUP EvtSercxFilecleanup;
void EvtSercxFilecleanup(
[in] WDFDEVICE Device
)
{...}
Parâmetros
[in] Device
Um identificador WDFDEVICE para o objeto de dispositivo de estrutura que representa o controlador serial.
Retornar valor
Nenhum
Comentários
Essa função pode desalocar determinados recursos do sistema que o driver alocou anteriormente para o tempo de vida do objeto de arquivo. Em conjunto com a função EvtSerCxFileClose , a função EvtSerCxFileCleanup deve remover o dispositivo do controlador serial do estado em que está pronto para receber e transmitir dados. A função EvtSerCxFileCleanup deve se concentrar especificamente em tarefas limpo up, como desalocar memória.
Se o driver do controlador serial tiver alocado memória anteriormente apenas para o tempo de vida do objeto de arquivo que agora está fechado, o driver deverá desalocar essa memória na função EvtSerCxFileCleanup ou EvtSerCxFileClose .
Normalmente, as interrupções devem ser desabilitadas somente depois que o objeto de arquivo é liberado. Assim, a função EvtSerCxFileClose , e não a função EvtSerCxFileCleanup , deve desabilitar as interrupções.
O SerCx chama a função EvtSerCxFileCleanup de um driver depois que o último identificador para o objeto de arquivo é fechado. Devido a solicitações de E/S pendentes, esse objeto ainda pode não ser liberado. Após essa chamada, o driver não recebe novas solicitações para operações de E/S.
O SerCx chama a função EvtSerCxFileClose de um driver depois de chamar a função EvtSerCxFileCleanup do driver. O SerCx chama a função EvtSerCxFileClose depois que o objeto de arquivo é liberado, o que ocorre somente quando todas as solicitações de E/S pendentes são concluídas ou canceladas.
A função EvtSerCxFileCleanup é opcional. Se um driver de controlador serial não implementar essa função, a função EvtSerCxFileClose do driver deverá lidar com todas as tarefas limpo que são necessárias após o fechamento do último identificador de arquivo.
Para registrar uma função de retorno de chamada EvtSerCxFileCleanup , o driver deve chamar o método SerCxInitialize .
Para obter mais informações, consulte Objetos de arquivo de estrutura.
Exemplos
O tipo de função para esse retorno de chamada é declarado em Sercx.h, da seguinte maneira.
typedef VOID
EVT_SERCX_FILECLEANUP(
__in WDFDEVICE Device
);
Para definir uma função de retorno de chamada EvtSerCxFileCleanup chamada MyEvtSerCxFileCleanup
, você deve primeiro fornecer uma declaração de função que o SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação exigem, da seguinte maneira.
EVT_SERCX_FILECLEANUP MyEvtSerCxFileCleanup;
Em seguida, implemente a função de retorno de chamada da seguinte maneira.
VOID
MyEvtSerCxFileCleanup(
__in WDFDEVICE Device
)
{ ... }
Para obter mais informações sobre os requisitos de SDV para declarações de função, consulte Declarando funções usando tipos de função para drivers KMDF.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | sercx.h |
IRQL | Chamado em IRQL <= DISPATCH_LEVEL |