Функция обратного вызова 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)

См. также раздел

AVStrMiniDeleteAllocator

KSALLOCATOR_DISPATCH

KSALLOCATOR_FRAMING

KSPIN

KSPIN_DISPATCH