PFNUSBCAMD_BulkReadWrite função de retorno de chamada (usbcamdi.h)
O serviço USBCAMD_BulkReadWrite executa uma operação de leitura ou gravação no pipe em massa especificado.
Sintaxe
PFNUSBCAMD_BulkReadWrite PfnusbcamdBulkreadwrite;
NTSTATUS PfnusbcamdBulkreadwrite(
[in] PVOID DeviceContext,
[in] USHORT PipeIndex,
[in] PVOID Buffer,
[in] ULONG BufferLength,
[in] PCOMMAND_COMPLETE_FUNCTION CommandComplete,
[in] PVOID CommandContext
)
{...}
Parâmetros
[in] DeviceContext
Ponteiro para o contexto do dispositivo do minidriver da câmera.
[in] PipeIndex
Especifica o índice do pipe em massa.
[in] Buffer
Ponteiro para o buffer de leitura ou gravação. Se esse parâmetro for definido como NULL para uma solicitação de leitura, o USBCAMD efetua pull de um SRB de dados da fila de leitura SRB do fluxo associado a esse pipe. As solicitações de gravação com um ponteiro de buffer NULL só serão permitidas no pino ainda se uma solicitação de SRB_WRITE_DATA tiver sido enviada para o pino ainda.
[in] BufferLength
Especifica o comprimento do buffer de leitura/gravação em bytes.
[in] CommandComplete
Ponteiro para um minidriver de câmera definido CommandCompleteFunction, que é chamado quando a leitura ou gravação em massa é concluída. Esse valor pode ser NULL.
[in] CommandContext
Ponteiro para um bloco de memória, que é passado como um argumento para o minidriver de câmera definido CommandCompleteFunction.
Retornar valor
USBCAMD_BulkReadWrite retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Outros códigos de erro possíveis incluem:
Código de retorno | Descrição |
---|---|
STATUS_FILE_CLOSED | O dispositivo foi removido. |
STATUS_INVALID_PARAMETER | O USBCAMD pode retornar STATUS_INVALID_PARAMETER por vários motivos, incluindo: O valor passado no argumento PipeIndex é inválido. O tipo do pipe especificado pelo argumento PipeIndex representa um tipo inválido de pipe. Já existe uma solicitação de leitura/gravação em massa. O argumento Buffer é NULL. |
STATUS_INSUFFICIENT_RESOURCES | Não há recursos suficientes para agendar uma transferência. |
Comentários
O USBCAMD pode aceitar uma solicitação de leitura e de gravação por vez.
USBCAMD_BulkReadWrite não está disponível no USBCAMD versão 1.0.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |