PCAM_PROCESS_RAW_FRAME_ROUTINE funzione di callback (usbcamdi.h)
[CamProcessRawVideoFrame non è supportato e potrebbe essere modificato o non disponibile in futuro. Usare invece CamProcessRawVideoFrameEx. ]
La funzione di callback CamProcessRawVideoFrame di una fotocamera decodifica un fotogramma video non elaborato.
Sintassi
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
)
{...}
Parametri
BusDeviceObject
Puntatore all'oggetto dispositivo del minidriver della fotocamera creato dall'hub USB.
DeviceContext
Puntatore al contesto di dispositivo del minidriver della fotocamera.
FrameContext
Puntatore al contesto del fotogramma del minidriver della fotocamera.
FrameBuffer
Puntatore al buffer che riceve il fotogramma video elaborato finale. Per altre informazioni sull'uso di questo parametro da PARTE di USBCAMD, vedere la sezione Osservazioni.
FrameLength
Specifica la lunghezza in byte del buffer dei fotogrammi (dalla richiesta di lettura originale).
RawFrameBuffer
Puntatore al buffer contenente i pacchetti USB ricevuti. Per altre informazioni sull'uso di questo parametro da PARTE di USBCAMD, vedere la sezione Osservazioni.
RawFrameLength
Specifica la lunghezza di RawFrameBuffer in byte.
NumberOfPackets
Specifica il numero di pacchetti USB ricevuti in RawFrameBuffer.
BytesReturned
Puntatore al numero di byte trasferiti. Il minidriver deve impostare questo valore su zero se rileva errori durante l'elaborazione, come descritto in Flusso di dati Using Isochronous Pipes. Per altre informazioni sull'uso di questo parametro da PARTE di USBCAMD, vedere la sezione Osservazioni.
Valore restituito
CamProcessRawVideoFrame restituisce STATUS_SUCCESS o un codice di errore appropriato.
Commenti
Prima che USBCAMD chiami il callback CamProcessRawVideoFrame del minidriver, imposta il primo DWORD nel buffer a cui punta il parametro FrameBuffer sul valore 0xdeadbeef. Dopo aver chiamato il callback USBCAMD di CamProcessRawVideoFrame del minidriver controlla il primo DWORD nel buffer a cui punta il parametro FrameBuffer per il valore 0xdeadbeef per determinare se CamProcessRawVideoFrame ha copiato correttamente il fotogramma video dal buffer a cui punta il parametro RawFrameBuffer nel buffer a cui punta il parametro FrameBuffer .
I minidriver della fotocamera che devono mantenere la compatibilità con le versioni precedenti con USBCAMD originale devono usare la struttura USBCAMD_DEVICE_DATA e le funzioni di callback associate, ovvero le funzioni di callback che non contengono il suffisso "Ex").
Questa funzione è facoltativa.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | usbcamdi.h (include Usbcamdi.h) |
IRQL | PASSIVE_LEVEL |