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 de 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 de câmera define para indicar se este é o primeiro pacote de dados para um novo quadro de vídeo. Defina como VERDADEIRO 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 deve ser definido como FALSE se o fluxo de vídeo estiver fornecendo uma imagem ao vivo ou VERDADEIRO se o próximo quadro for uma imagem ainda ou um fluxo de captura de imagem.
Valor de retorno
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).
Observações
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").
O minidriver deve concluir essa função o mais rápido possível. O processamento de imagem deve ser adiado para a função CamProcessRawVideoFrame.
Essa função é opcional.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | usbcamdi.h (inclua Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |