структура PCPIN_DESCRIPTOR (portcls.h)

Структура PCPIN_DESCRIPTOR описывает фабрику контактов.

Синтаксис

typedef struct {
  ULONG                    MaxGlobalInstanceCount;
  ULONG                    MaxFilterInstanceCount;
  ULONG                    MinFilterInstanceCount;
  const PCAUTOMATION_TABLE *AutomationTable;
  KSPIN_DESCRIPTOR         KsPinDescriptor;
} PCPIN_DESCRIPTOR, *PPCPIN_DESCRIPTOR;

Члены

MaxGlobalInstanceCount

Указывает глобальное максимальное количество раз, когда можно создавать экземпляры этого типа контактов. Глобальный максимум подсчитывает количество экземпляров контактов, которые драйвер адаптера может поддерживать во всех экземплярах фильтра. Значение счетчика может быть равно нулю, чтобы указать, что экземпляр контакта не может быть создан. Значение ULONG(-1) указывает, что экземпляр контакта можно создавать любое количество раз. Любое другое значение указывает определенное количество раз, когда можно создать экземпляр контакта.

MaxFilterInstanceCount

Указывает максимальное количество раз, когда можно создавать экземпляр контакта в одном экземпляре фильтра. Значение счетчика может быть равно нулю, чтобы указать, что экземпляр контакта не может быть создан. Значение ULONG(-1) указывает, что экземпляр контакта можно создавать любое количество раз. Любое другое значение указывает определенное количество раз, когда можно создать экземпляр контакта.

MinFilterInstanceCount

Указывает минимальное количество раз, когда необходимо создать экземпляр контакта в экземпляре фильтра. Этот элемент является определенной нижней границей числа экземпляров контакта, которые должны существовать, чтобы фильтр мог функционировать.

AutomationTable

Указатель на таблицу автоматизации. Этот элемент является указателем на структуру типа PCAUTOMATION_TABLE. Указатель может иметь значение NULL , чтобы указать, что автоматизация не поддерживается. В таблице автоматизации указываются обработчики свойств и событий, принадлежащих экземпляру pin.

KsPinDescriptor

Описывает фабрику контактов. Этот элемент является структурой типа KSPIN_DESCRIPTOR. Фабрика контактов может иметь ноль интерфейсов и нулевых сред. Список интерфейсов игнорируется во всех случаях. По умолчанию в стандартном списке используется список, содержащий только устройства ввода-вывода (KSMEDIUM_STANDARD_DEVIO).

Комментарии

Эта структура используется для описания каждой фабрики контактов, реализуемой драйвером мини-порта. Структура PCFILTER_DESCRIPTOR драйвера содержит указатель на массив PCPIN_DESCRIPTOR структур. Количество элементов в массиве равно количеству фабрик контактов в фильтре.

Элементы MaxGlobalInstanceCount, MaxFilterInstanceCount и MinFilterInstanceCount — это максимальное и минимальное количество, описывающее ограничения ресурсов и функциональные требования контакта. Автоматически инициализированный массив PCPIN_DESCRIPTOR может представлять только статическую оценку доступных ресурсов контактов. Метод IPinCount::P inCount предоставляет драйверу средства для динамического изменения списка доступных ресурсов контактов по мере выделения и освобождения контактов.

Значение MaxGlobalInstanceCount аналогично значению:

  • Параметр вызова GlobalPossible метода PinCount.
  • Значение свойства KSPROPERTY_PIN_GLOBALCINSTANCES (элемент PossibleCount структуры KSPIN_CINSTANCES).
Значение MaxFilterInstanceCount аналогично значению:
  • Параметр вызова FilterPossible метода PinCount.
  • Значение свойства KSPROPERTY_PIN_CINSTANCES (элемент PossibleCount структуры KSPIN_CINSTANCES).
Значение MinFilterInstanceCount аналогично значению: При описании контакта моста (см. раздел Графы фильтра аудио) установите для параметра MaxGlobalInstanceCount, MaxFilterInstanceCount и MinFilterInstanceCount значение 0, а для параметра AutomationTableзначение NULL.

Простой пример кода, демонстрирующий использование структуры PCPIN_DESCRIPTOR , см. в разделе Предоставление топологии фильтра.

Дополнительные сведения см. в разделе Pin Factories.

Требования

Требование Значение
Заголовок portcls.h (включая Portcls.h)

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

IPinCount::P inCount

KSPIN_DESCRIPTOR

KSPROPERTY_PIN_CINSTANCES

KSPROPERTY_PIN_GLOBALCINSTANCES

KSPROPERTY_PIN_NECESSARYINSTANCES

PCAUTOMATION_TABLE