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 포함) |