Método IUsbTargetPipeContinuousReaderCallbackReadersFailed::OnReaderFailure (wudfusb.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui 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. Para obter mais informações, consulte Introdução com UMDF.]

A função de retorno de chamada de evento OnReaderFailure de um driver informa ao driver que um leitor contínuo relatou um erro ao processar uma solicitação de leitura.

Sintaxe

BOOL OnReaderFailure(
  [in] IWDFUsbTargetPipe *pPipe,
  [in] HRESULT           hrStatus
);

Parâmetros

[in] pPipe

Um ponteiro para a interface IWDFUsbTargetPipe para o pipe USB no qual o driver habilitou um leitor contínuo.

[in] hrStatus

O hresult digitado status valor retornado pelo destino de E/S do pipe USB.

Retornar valor

A função de retorno de chamada de evento OnReaderFailure deve retornar um valor booliano. Se o valor retornado for TRUE, a estrutura redefinirá o pipe USB e reiniciará o leitor contínuo. Se a função de retorno de chamada retornar FALSE, a estrutura não redefinirá o dispositivo nem reiniciará o leitor contínuo.

Comentários

Para registrar uma função de retorno de chamada OnReaderFailure , o driver deve fornecer um ponteiro para a interface IUsbTargetPipeContinuousReaderCallbackReadersFailed do driver ao chamar IWDFUsbTargetPipe2::ConfigureContinuousReader.

Se um driver tiver criado um leitor contínuo para um pipe USB, a estrutura chamará a função de retorno de chamada OnReaderFailure do driver se o destino de E/S do driver relatar um erro quando concluir uma solicitação de leitura. (Se o destino de E/S concluir com êxito a solicitação, a estrutura chamará a função de retorno de chamada IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion do driver.)

Antes que a estrutura chame a função de retorno de chamada OnReaderFailure de um driver, ela tenta cancelar todas as solicitações de leitura em andamento. Nenhuma solicitação de leitura está em andamento quando a estrutura chama a função de retorno de chamada OnReaderFailure . A estrutura não enfileira nenhuma solicitação de leitura adicional até que a função de retorno de chamada OnReaderFailure retorne.

Para obter informações sobre como a estrutura sincroniza chamadas para a função de retorno de chamada OnReaderFailure com chamadas para outras funções de retorno de chamada, consulte a seção Comentários de IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion.

A função de retorno de chamada OnReaderFailure não deve chamar IWDFIoTargetStateManagement::Stop para interromper o destino USB do leitor contínuo. (Na verdade, chamar IWDFIoTargetStateManagement::Stop em uma função de retorno de chamada OnReaderFailure causa um deadlock.) Além disso, a função de retorno de chamada não deve chamar IWDFIoTargetStateManagement::Start para reiniciar o leitor contínuo. Em vez disso, a estrutura reiniciará o leitor se a função de retorno de chamada retornar TRUE. Para obter mais informações sobre quando chamar IWDFIoTargetStateManagement::Start e IWDFIoTargetStateManagement::Stop para um leitor contínuo, consulte Trabalhando com pipes USB no UMDF.

Se um driver não fornecer uma função de retorno de chamada OnReaderFailure e o destino de E/S do driver relatar um erro, a estrutura redefinirá o pipe USB e reiniciará o leitor contínuo.

Para obter mais informações sobre a função de retorno de chamada OnReaderFailure e destinos de E/S USB, consulte Manipulando um destino de E/S USB.

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1,9
Cabeçalho wudfusb.h (include Wudfusb.h)

Confira também

IUsbTargetPipeContinuousReaderCallbackReadComplete::OnReaderCompletion

IUsbTargetPipeContinuousReaderCallbackReadersFailed