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 nulo buffer só serão permitidas no pino ainda se uma solicitação 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.

Valor de retorno

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 do Buffer é NULL.
STATUS_INSUFFICIENT_RESOURCES Não há recursos suficientes para agendar uma transferência.

Observações

O USBCAMD pode aceitar uma solicitação de leitura e uma de gravação por vez.

USBCAMD_BulkReadWrite não está disponível no USBCAMD versão 1.0.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho usbcamdi.h (inclua Usbcamdi.h)

Consulte também

commandCompleteFunction

USBCAMD_INTERFACE