PCAM_PROCESS_PACKET_ROUTINE função de retorno de chamada (usbcamdi.h)
[Não há suporte para CamProcessUSBPacket e pode ser alterado ou indisponível no futuro. Em vez disso, use CamProcessUSBPacketEx. ]
A função de retorno de chamada CamProcessUSBPacket de um minidriver de câmera processa um pacote USB.
Sintaxe
PCAM_PROCESS_PACKET_ROUTINE PcamProcessPacketRoutine;
ULONG PcamProcessPacketRoutine(
PDEVICE_OBJECT BusDeviceObject,
PVOID DeviceContext,
PVOID CurrentFrameContext,
PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
PVOID SyncBuffer,
PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
PVOID DataBuffer,
PBOOLEAN FrameComplete,
PBOOLEAN NextFrameIsStill
)
{...}
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.
CurrentFrameContext
Ponteiro para o contexto de quadro do minidriver.
SyncPacket
Ponteiro para uma estrutura USBD_ISO_PACKET_DESCRIPTOR do pipe de sincronização. Esse valor será NULL se a interface tiver apenas um pipe.
SyncBuffer
Ponteiro para os dados do SyncPacket.
DataPacket
Ponteiro para uma estrutura USBD_ISO_PACKET_DESCRIPTOR do pipe de dados.
DataBuffer
Ponteiro para DataPacket.
FrameComplete
Ponteiro para um valor BOOLEAN que o minidriver da câmera define para indicar se este é o primeiro pacote de dados para um novo quadro de vídeo. Defina como TRUE se este for o primeiro pacote de dados para um novo quadro de vídeo.
NextFrameIsStill
Ponteiro para um valor BOOLEAN que o minidriver da câmera define para indicar se o próximo quadro é um quadro ainda ou não. Esse valor deverá ser definido como FALSE se o fluxo de vídeo estiver fornecendo uma imagem ao vivo ou TRUE se o próximo quadro for uma imagem parada ou um fluxo de captura de imagem.
Retornar valor
Essa função de retorno de chamada retorna um ULONG que indica o número de bytes que devem ser copiados para o buffer (RawFrameBuffer ou FrameBuffer).
Comentários
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").
O minidriver deve concluir essa função o mais rápido possível. O processamento de imagens deve ser adiado para a função CamProcessRawVideoFrame .
Essa função é opcional.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |