다음을 통해 공유


PCAM_PROCESS_RAW_FRAME_ROUTINE 콜백 함수(usbcamdi.h)

[CamProcessRawVideoFrame은 지원되지 않으며 나중에 변경되거나 사용할 수 없습니다. 대신 CamProcessRawVideoFrameEx를 사용합니다. ]

카메라 미니드라이버의 CamProcessRawVideoFrame 콜백 함수는 원시 비디오 프레임을 디코딩합니다.

구문

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
)
{...}

매개 변수

BusDeviceObject

USB 허브에서 만든 카메라 미니드라이버의 디바이스 개체에 대한 포인터입니다.

DeviceContext

카메라 미니 드라이버의 디바이스 컨텍스트에 대한 포인터입니다.

FrameContext

카메라 미니드라이버의 프레임 컨텍스트에 대한 포인터입니다.

FrameBuffer

최종 처리된 비디오 프레임을 수신하는 버퍼에 대한 포인터입니다. USBCAMD에서 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 설명 섹션을 참조하세요.

FrameLength

원래 읽기 요청에서 프레임 버퍼의 길이를 바이트 단위로 지정합니다.

RawFrameBuffer

수신된 USB 패킷을 포함하는 버퍼에 대한 포인터입니다. USBCAMD에서 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 설명 섹션을 참조하세요.

RawFrameLength

RawFrameBuffer의 길이를 바이트 단위로 지정합니다.

NumberOfPackets

RawFrameBuffer로 수신된 USB 패킷 수를 지정합니다.

BytesReturned

전송된 바이트 수에 대한 포인터입니다. Data Flow 등시 파이프 사용에 설명된 대로 처리하는 동안 오류가 발생하는 경우 미니드라이버에서 이를 0으로 설정해야 합니다. USBCAMD에서 이 매개 변수를 사용하는 방법에 대한 자세한 내용은 설명 섹션을 참조하세요.

반환 값

CamProcessRawVideoFrame 은 STATUS_SUCCESS 또는 적절한 오류 코드를 반환합니다.

설명

USBCAMD는 미니드라이버의 CamProcessRawVideoFrame 콜백을 호출하기 전에 FrameBuffer 매개 변수가 가리키는 버퍼의 첫 번째 DWORD를 0xdeadbeef 값으로 설정합니다. 미니 드라이버의 CamProcessRawVideoFrame 콜백 USBCAMD를 호출한 후 0xdeadbeef 값에 대한 FrameBuffer 매개 변수가 가리키는 버퍼의 첫 번째 DWORD를 확인하여 CamProcessRawVideoFrameRawFrameBuffer 매개 변수가 가리키는 버퍼의 비디오 프레임을 FrameBuffer 매개 변수가 가리키는 버퍼로 성공적으로 복사했는지 확인합니다.

원래 USBCAMD와 이전 버전과의 호환성을 유지해야 하는 카메라 미니드라이버에서는 USBCAMD_DEVICE_DATA 구조와 연결된 콜백 함수(즉, "Ex" 접미사가 포함되지 않은 콜백 함수)를 사용해야 합니다.

이 함수는 선택 사항입니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 usbcamdi.h(Usbcamdi.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

CamProcessRawVideoFrameEx