PFNAVCINTERSECTHANDLER 콜백 함수(avc.h)

AV/C 교차 처리기는 데이터 범위가 호환되는지 여부를 결정합니다. 다음 프로토타입을 기반으로 하는 사용자 정의 함수입니다.

구문

typedef NTSTATUS ( *PFNAVCINTERSECTHANDLER)(
  _In_      PVOID        Context,
  _In_      ULONG        PinId,
  _In_      PKSDATARANGE CallerDataRange,
  _In_      PKSDATARANGE DescriptorDataRange,
  _In_      ULONG        DataBufferSize,
  _Out_opt_ PVOID        Data,
  _Out_     PULONG       ReportedDataSize
);

매개 변수

[in] Context

교차 처리기에 필요한 선택적 값입니다. 이 값은 하위 단위 드라이버(하위 단위 드라이버가 교차 처리기를 제공하는 경우) 또는 교차 처리기를 제공하는 하위 드라이버에서 제공합니다.

[in] PinId

교차가 수행되는 핀의 오프셋(또는 ID)을 지정합니다.

[in] DataRange

[in] MatchingDataRange

[in] DataBufferSize

데이터 멤버가 전달한 버퍼의 크기입니다. 0이 아닌 경우 교차 처리기는 일치하는 데이터 범위 쌍에서 생성된 데이터 형식을 반환하려고 시도해야 합니다. 이 값이 0이면 교차 처리기는 ReportedDataSize에 필요한 버퍼 크기를 제공하고 STATUS_BUFFER_OVERFLOW 반환해야 합니다.

[out, optional] Data

일치하는 데이터 범위 쌍으로 인해 발생하는 데이터 형식을 수신하는 선택적 버퍼입니다. DataBufferSize가 0이면 이 멤버는 무시됩니다.

[out] DataSize

반환 값

교차 처리기는 데이터 범위가 호환되고 결과 형식을 반환하기에 충분한 버퍼 공간이 있는 경우 STATUS_SUCCESS 반환해야 합니다.

반환 코드 설명
STATUS_NO_MATCH 데이터 범위는 호환되지 않습니다.
STATUS_INTERNAL_ERROR 예기치 않은 형식 크기 불일치가 있었습니다.
STATUS_BUFFER_OVERFLOW 교차 처리기는 ReportedDataSize 멤버를 통해 필요한 버퍼 크기를 반환합니다.
STATUS_BUFFER_TOO_SMALL 교차 처리기에 결과 형식을 보유할 수 있을 만큼 큰 버퍼가 제공되지 않았습니다. 필요한 버퍼 크기를 확인하려면 DataBufferSize 를 0으로 설정하여 교차 처리기를 다시 호출해야 합니다.
STATUS_INSUFFICIENT_RESOURCES 내부 버퍼 할당에 실패했습니다.

설명

AV/C 교차 처리기는 위의 함수 프로토타입에 따라 사용자 정의입니다.

처리기는 AVC_FUNCTION_GET_PIN_DESCRIPTOR 함수 코드와 함께 사용됩니다. 처리기의 목적은 동일한 핀 데이터 형식을 일치시키고 호출자에게 반환하는 것입니다.

요구 사항

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

추가 정보