PCAM_PROCESS_RAW_FRAME_ROUTINE função de retorno de chamada (usbcamdi.h)
[CamProcessRawVideoFrame não tem suporte e pode ser alterado ou indisponível no futuro. Em vez disso, use CamProcessRawVideoFrameEx. ]
A função de retorno de chamada CamProcessRawVideoFrame de um minidriver de câmera 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 da 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 no 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 isócronos. Consulte a seção Comentários para obter mais informações sobre como o USBCAMD usa esse parâmetro.
Retornar valor
CamProcessRawVideoFrame retorna STATUS_SUCCESS ou um código de erro apropriado.
Comentários
Antes que o USBCAMD chame o retorno de chamada CamProcessRawVideoFrame do minidriver, ele define o primeiro DWORD no buffer apontado pelo parâmetro FrameBuffer para o valor 0xdeadbeef. Depois de chamar o USBCAMD de retorno de chamada CamProcessRawVideoFrame do minidriver, 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 para o buffer apontado pelo parâmetro FrameBuffer .
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 |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |
IRQL | PASSIVE_LEVEL |