Compartilhar via


PCAM_PROCESS_RAW_FRAME_ROUTINE função de retorno de chamada (usbcamdi.h)

[Não há suporte para CamProcessRawVideoFrame e pode ser alterado ou indisponível no futuro. Em vez disso, use CamProcessRawVideoFrameEx . ]

Um minidriver de câmera CamProcessRawVideoFrame função de retorno de chamada decodifica um quadro de vídeo bruto.

Sintaxe

PCAM_PROCESS_RAW_FRAME_ROUTINE PcamProcessRawFrameRoutine;

NTSTATUS PcamProcessRawFrameRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID FrameContext,
  PVOID FrameBuffer,
  ULONG FrameLength,
  PVOID RawFrameBuffer,
  ULONG RawFrameLength,
  ULONG NumberOfPackets,
  PULONG BytesReturned
)
{...}

Parâmetros

BusDeviceObject

Ponteiro para o objeto de dispositivo do minidriver de câmera criado pelo hub USB.

DeviceContext

Ponteiro para o contexto do dispositivo do minidriver da câmera.

FrameContext

Ponteiro para o contexto de quadro do minidriver da câmera.

FrameBuffer

Ponteiro para o buffer que recebe o quadro de vídeo processado final. Consulte a seção Comentários para obter mais informações sobre como o USBCAMD usa esse parâmetro.

FrameLength

Especifica o comprimento do buffer de quadro (da solicitação de leitura original) em bytes.

RawFrameBuffer

Ponteiro para o buffer que contém os pacotes USB recebidos. Consulte a seção Comentários para obter mais informações sobre como o USBCAMD usa esse parâmetro.

RawFrameLength

Especifica o comprimento de RawFrameBuffer em bytes.

NumberOfPackets

Especifica o número de pacotes USB recebidos em RawFrameBuffer.

BytesReturned

Ponteiro para o número de bytes transferidos. O minidriver deve definir isso como zero se encontrar erros durante o processamento, conforme descrito em Fluxo de Dados usando pipes isocronos. Consulte a seção Comentários para obter mais informações sobre como o USBCAMD usa esse parâmetro.

Valor de retorno

CamProcessRawVideoFrame retorna STATUS_SUCCESS ou um código de erro apropriado.

Observações

Antes que o USBCAMD chame o CamProcessRawVideoFrame do minidriver retorno de chamada, ele define o primeiro DWORD no buffer apontado pelo parâmetro FrameBuffer para o valor 0xdeadbeef. Depois de chamar o CamProcessRawVideoFrame do minidriver USBCAMD verifica o primeiro DWORD no buffer apontado pelo parâmetro FrameBuffer para o valor 0xdeadbeef para determinar se CamProcessRawVideoFrame copiou com êxito o quadro de vídeo do buffer apontado pelo parâmetro RawFrameBuffer no buffer apontado pelo parâmetro FrameBuffer.

Os minidrivers de câmera que devem manter a compatibilidade com versões anteriores com o USBCAMD original devem usar a estrutura USBCAMD_DEVICE_DATA e suas funções de retorno de chamada associadas (ou seja, funções de retorno de chamada que não contêm o sufixo "Ex").

Essa função é opcional.

Requisitos

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

Consulte também

CamProcessRawVideoFrameEx