Функция обратного вызова PFNKSPININITIALIZEALLOCATOR (ks.h)
Подпрограмма AVStrMiniInitializeAllocator мини-драйвера AVStream инициализирует распределитель, который будет связан с закреплением.
Синтаксис
PFNKSPININITIALIZEALLOCATOR Pfnkspininitializeallocator;
NTSTATUS Pfnkspininitializeallocator(
[in] PKSPIN Pin,
[in] PKSALLOCATOR_FRAMING AllocatorFraming,
[out] PVOID *Context
)
{...}
Параметры
[in] Pin
Указатель на структуру KSPIN , описывающую контакт, с которым должен быть связан распределитель.
[in] AllocatorFraming
Указатель на структуру KSALLOCATOR_FRAMING , описывающую требования к обрамления, которые должен использовать распределитель.
[out] Context
Указатель на контекст для распределителя, который будет передан в качестве параметра другим подпрограммам для этой структуры. Например, драйвер может хранить структуры обрамления контактов или распределителя для последующего использования другими подпрограммами обратного вызова. Обратите внимание, что другие подпрограммы для KSALLOCATOR_DISPATCH должны иметь по крайней мере косвенный способ ссылки на pin. (Например, AVStrMiniAllocate должен иметь доступ к сведениям AllocatorFraming для пин-кода, а параметр Context является единственным параметром, который AVStream передает его.)
Возвращаемое значение
AVStrMiniInitializeAllocator должен возвращать STATUS_SUCCESS или код ошибки, полученный при попытке создать распределитель.
Комментарии
Мини-driver указывает адрес этой подпрограммы в элементе InitializeAllocator структуры KSALLOCATOR_DISPATCH . Мини-драйвер передает эту структуру драйверу класса в KSPIN_DISPATCH.
Обратите внимание, что распределители в режиме ядра не могут выделять кадры, которые в конечном итоге могут достичь пользовательского режима.
AVStream вызывает AVStrMiniInitializeAllocator для инициализации заданного распределителя. Обработчик этой подпрограммы должен подготовиться к обработке выделения памяти и свободных запросов.
Дополнительные сведения см. в разделе Распределители KS.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версий. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ks.h (включая Ks.h) |