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).
- Paramètre d’appel FilterPossible de la méthode PinCount.
- Valeur de propriété KSPROPERTY_PIN_CINSTANCES (membre PossibleCount de la structure KSPIN_CINSTANCES).
- Paramètre d’appel FilterNecessary de la méthode PinCount.
- Valeur de propriété KSPROPERTY_PIN_NECESSARYINSTANCES .
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
KSPROPERTY_PIN_GLOBALCINSTANCES