Функция обратного вызова 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
Указывает смещение (или идентификатор) контакта, для которого выполняется пересечение.
[in] DataRange
[in] MatchingDataRange
[in] DataBufferSize
Размер буфера, переданного элементом Data . Если это ненулевое значение, обработчик пересечения должен попытаться вернуть формат данных, полученный из пары совпадающих диапазонов данных. Если значение равно нулю, обработчик пересечения должен предоставить требуемый размер буфера в ReportedDataSize и вернуть STATUS_BUFFER_OVERFLOW.
[out, optional] Data
Необязательный буфер для получения формата данных, полученного из соответствующей пары диапазонов данных. Этот элемент игнорируется, если dataBufferSize равно нулю.
[out] DataSize
Возвращаемое значение
Обработчик пересечения должен возвращать STATUS_SUCCESS, если диапазоны данных совместимы, и буферного пространства достаточно для возврата итогового формата.
Код возврата | Описание |
---|---|
STATUS_NO_MATCH | Диапазоны данных несовместимы. |
STATUS_INTERNAL_ERROR | Произошло непредвиденное несоответствие размера формата. |
STATUS_BUFFER_OVERFLOW | Обработчик пересечения возвращает требуемый размер буфера через член ReportedDataSize . |
STATUS_BUFFER_TOO_SMALL | Обработчику пересечения не был предоставлен буфер, достаточно большой для хранения результирующего формата. Чтобы определить требуемый размер буфера, обработчик пересечения должен быть вызван снова с параметром DataBufferSize , равным нулю. |
STATUS_INSUFFICIENT_RESOURCES | Сбой выделения внутреннего буфера. |
Комментарии
Обработчик пересечения AV/C определяется пользователем на основе приведенного выше прототипа функции.
Обработчик используется в сочетании с кодом функции AVC_FUNCTION_GET_PIN_DESCRIPTOR . Обработчик предназначен для сопоставления одинаковых форматов данных пин-кода и возврата их вызывающему объекту.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | avc.h (включая Avc.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по