Partager via


structure PCPIN_DESCRIPTOR (portcls.h)

La structure PCPIN_DESCRIPTOR décrit une fabrique de broches.

Syntaxe

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

Membres

MaxGlobalInstanceCount

Spécifie le nombre maximal global de fois où ce type de broche peut être instancié. Le nombre maximal global compte le nombre d’instances de broches que le pilote d’adaptateur peut prendre en charge pour toutes les instances du filtre. Le nombre peut être défini sur zéro pour indiquer que la broche ne peut pas être instanciée. La valeur ULONG(-1) indique que la broche peut être instanciée n’importe quel nombre de fois. Toute autre valeur indique un nombre spécifique de fois où la broche peut être instanciée.

MaxFilterInstanceCount

Spécifie le nombre maximal de fois où la broche peut être instanciée sur une seule instance du filtre. Le nombre peut être défini sur zéro pour indiquer que la broche ne peut pas être instanciée. La valeur ULONG(-1) indique que la broche peut être instanciée n’importe quel nombre de fois. Toute autre valeur indique un nombre spécifique de fois où la broche peut être instanciée.

MinFilterInstanceCount

Spécifie le nombre minimal de fois où la broche doit être instanciée sur un instance du filtre. Ce membre est une limite inférieure définie sur le nombre d’instances d’une broche qui doit exister pour qu’un filtre puisse fonctionner.

AutomationTable

Pointeur vers la table Automation. Ce membre est un pointeur vers une structure de type PCAUTOMATION_TABLE. Le pointeur peut avoir la valeur NULL pour indiquer qu’aucune automatisation n’est prise en charge. La table Automation spécifie les gestionnaires pour les propriétés et les événements appartenant à l’instance d’épingle.

KsPinDescriptor

Décrit la fabrique de broches. Ce membre est une structure de type KSPIN_DESCRIPTOR. Une fabrique de broches peut avoir zéro interface et zéro support. La liste des interfaces est ignorée dans tous les cas. La liste moyen standard est par défaut une liste contenant uniquement les E/S de l’appareil (KSMEDIUM_STANDARD_DEVIO).

Remarques

Cette structure est utilisée pour décrire chacune des fabriques de broches qu’un pilote miniport implémente. La structure de PCFILTER_DESCRIPTOR du pilote contient un pointeur vers un tableau de structures PCPIN_DESCRIPTOR . Le nombre d’éléments dans le tableau est égal au nombre de fabriques de broches dans le filtre.

Les membres MaxGlobalInstanceCount, MaxFilterInstanceCount et MinFilterInstanceCount sont des nombres maximum et minimal qui décrivent les restrictions de ressources et les exigences fonctionnelles de la broche. Un tableau de PCPIN_DESCRIPTOR automatiquement initialisé ne peut présenter qu’une estimation statique des ressources de broche disponibles. La méthode IPinCount ::P inCount permet au pilote de réviser dynamiquement sa liste de ressources de broches disponibles à mesure que les broches sont allouées et libérées.

La valeur MaxGlobalInstanceCount est similaire en termes de signification à :

  • Paramètre d’appel GlobalPossible de la méthode PinCount.
  • Valeur de la propriété KSPROPERTY_PIN_GLOBALCINSTANCES (membre PossibleCount de la structure KSPIN_CINSTANCES).
La valeur MaxFilterInstanceCount est similaire en termes de signification à : La valeur MinFilterInstanceCount est similaire en termes de signification à : Lorsque vous décrivez une broche de pont (consultez Graphiques de filtre audio), définissez MaxGlobalInstanceCount, MaxFilterInstanceCount et MinFilterInstanceCount sur zéro, et définissez AutomationTable sur NULL.

Pour obtenir un exemple de code simple qui montre comment la structure PCPIN_DESCRIPTOR est utilisée, consultez Exposition de la topologie de filtre.

Pour plus d’informations, consultez Épingler les fabriques.

Configuration requise

Condition requise Valeur
En-tête portcls.h (include Portcls.h)

Voir aussi

IPinCount ::P inCount

KSPIN_DESCRIPTOR

KSPROPERTY_PIN_CINSTANCES

KSPROPERTY_PIN_GLOBALCINSTANCES

KSPROPERTY_PIN_NECESSARYINSTANCES

PCAUTOMATION_TABLE