Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Allocator — это объект KS, который создает экземпляры буферов данных, называемые кадрами для запросов ввода-вывода. Кадр — это блок непрерывной памяти, размер которого указан поставщиком через элемент AllocatorFramingKSPIN_DESCRIPTOR_EX.
Мини-драйверы могут поддерживать аллокаторы для нескольких типов буферов, например встроенной в видеокарту оперативной памяти. Однако большинство минидрайверов используют распределитель по умолчанию для выделения системной памяти. Минидрайверы могут задавать размер кадра, максимальное количество кадров и требования к выравниванию. По умолчанию распределитель заботится о соответствии требованиям и может оптимизировать производительность путем повторного использования освобожденных кадров.
Минидрайвер создает аллокатор, вызывая процедуру KsCreateAllocator или связанные функции. В этом вызове минидрайвер передает указатель на структуру KSALLOCATOR_FRAMING. Эта структура содержит параметры, описывающие запрошенный распределитель.
В модели классов потоков минидрайверы, создающие аллокаторы, поддерживают свойство KSPROPERTY_CONNECTION_ALLOCATORFRAMING. Это запрос только для чтения, который возвращает указатель на структуру KSALLOCATOR_FRAMING, соответствующую указанному дескриптору приемника.
Минидрайверы, предоставляющие аллокаторы, также должны поддерживать свойство KSPROPERTY_STREAM_ALLOCATOR. Это свойство предоставляет доступ для чтения и записи к дескриптору распределителя, в настоящее время назначенному точке подключения потока.
Минидрайверы, работающие в AVStream, могут включать пины, реализующие свои собственные распределители памяти. Сделайте это, задав элемент KSALLOCATOR_DISPATCH структуры KSPIN_DISPATCH . Укажите ЗНАЧЕНИЕ NULL для этого элемента, если не хотите указывать распределитель для этого пин-кода.
Кроме того, минидрайверы AVStream используют структуру KSALLOCATOR_FRAMING_EX для указания требований к распределителю. Затем клиенты используют свойство KSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX для получения требований к обрамления для пин-кода. Дополнительные сведения см. в разделе "Распределители AVStream ".
В этом разделе содержатся следующие дополнительные сведения: