Compartilhar via


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)

Confira também

CommandCompleteFunction

USBCAMD_INTERFACE