PFNUSBCAMD_BulkReadWrite 콜백 함수(usbcamdi.h)

USBCAMD_BulkReadWrite 서비스는 지정된 대량 파이프에서 읽기 또는 쓰기 작업을 수행합니다.

구문

PFNUSBCAMD_BulkReadWrite PfnusbcamdBulkreadwrite;

NTSTATUS PfnusbcamdBulkreadwrite(
  [in] PVOID DeviceContext,
  [in] USHORT PipeIndex,
  [in] PVOID Buffer,
  [in] ULONG BufferLength,
  [in] PCOMMAND_COMPLETE_FUNCTION CommandComplete,
  [in] PVOID CommandContext
)
{...}

매개 변수

[in] DeviceContext

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

[in] PipeIndex

대량 파이프의 인덱스를 지정합니다.

[in] Buffer

읽기 또는 쓰기 버퍼에 대한 포인터입니다. 이 매개 변수가 읽기 요청에 대해 NULL 로 설정된 경우 USBCAMD는 이 파이프와 연결된 스트림의 SRB 읽기 큐에서 데이터 SRB를 가져옵니다. NULL 버퍼 포인터가 있는 쓰기 요청은 SRB_WRITE_DATA 요청이 스틸 핀에 제출된 경우에만 스틸 핀에서 허용됩니다.

[in] BufferLength

읽기/쓰기 버퍼의 길이를 바이트 단위로 지정합니다.

[in] CommandComplete

대량 읽기 또는 쓰기가 완료되면 호출되는 CommandCompleteFunction을 정의한 카메라 미니 드라이버에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

[in] CommandContext

카메라 미니드라이버에서 정의된 CommandCompleteFunction에 인수로 전달되는 메모리 블록에 대한 포인터입니다.

반환 값

USBCAMD_BulkReadWrite 호출에 성공하면 STATUS_SUCCESS 반환합니다. 기타 가능한 오류 코드는 다음과 같습니다.

반환 코드 설명
STATUS_FILE_CLOSED 디바이스가 제거되었습니다.
STATUS_INVALID_PARAMETER USBCAMD는 다음과 같은 여러 가지 이유로 STATUS_INVALID_PARAMETER 반환할 수 있습니다.

PipeIndex 인수에 전달된 값이 잘못되었습니다.

PipeIndex 인수로 지정된 파이프의 형식은 잘못된 유형의 파이프를 나타냅니다.

대량 읽기/쓰기 요청이 이미 있습니다. Buffer 인수는 NULL입니다.
STATUS_INSUFFICIENT_RESOURCES 전송을 예약할 리소스가 부족합니다.

설명

USBCAMD는 한 번에 하나의 읽기 및 하나의 쓰기 요청을 수락할 수 있습니다.

USBCAMD_BulkReadWrite USBCAMD 버전 1.0에서는 사용할 수 없습니다.

요구 사항

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

추가 정보

CommandCompleteFunction

USBCAMD_INTERFACE