Fonction PcNewInterruptSync (portcls.h)
La fonction PcNewInterruptSync crée et initialise un objet de synchronisation d’interruption.
Syntaxe
PORTCLASSAPI NTSTATUS PcNewInterruptSync(
[out] PINTERRUPTSYNC *OutInterruptSync,
[in, optional] PUNKNOWN OuterUnknown,
[in] PRESOURCELIST ResourceList,
[in] ULONG ResourceIndex,
[in] INTERRUPTSYNCMODE Mode
);
Paramètres
[out] OutInterruptSync
Pointeur de sortie pour l’objet de synchronisation d’interruption créé par cette fonction. Ce paramètre pointe vers une variable pointeur allouée par l’appelant dans laquelle la fonction génère une référence à l’objet IInterruptSync nouvellement créé. Spécifiez une valeur de pointeur non NULL valide pour ce paramètre.
[in, optional] OuterUnknown
Pointeur vers l’interface IUnknown d’un objet qui doit agréger l’objet. Sauf si l’agrégation est requise, définissez ce paramètre sur NULL.
[in] ResourceList
Pointeur vers l’objet IResourceList fourni au pilote miniport lors de l’initialisation. Le pilote de port examine cette liste de ressources, mais ne la modifie pas.
[in] ResourceIndex
Spécifie l’index de la ressource d’interruption dans la liste des ressources. Si la méthode IResourceList ::NumberOfEntriesOfType retourne un nombre de N pour le type CmResourceTypeInterrupt, ResourceIndex doit être une valeur comprise entre 0 et N-1.
[in] Mode
Spécifie la façon dont plusieurs ISR sont gérés. Définissez ce paramètre sur l’une des valeurs d’énumération INTERRUPTSYNCMODE. Pour plus d'informations, consultez la section Notes qui suit.
Valeur retournée
PcNewInterruptSync retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.
Remarques
Le paramètre Mode est défini sur l’une des valeurs d’énumération INTERRUPTSYNCMODE dans le tableau suivant.
Valeur | Signification |
---|---|
InterruptSyncModeNormal | Appelez chaque ISR de la liste jusqu’à ce que l’un d’eux retourne STATUS_SUCCESS. |
InterruptSyncModeAll | Appelez chaque ISR de la liste une seule fois, quels que soient les codes de retour des différents ISR. |
InterruptSyncModeRepeat | Parcourez l’intégralité de la liste ISR jusqu’à ce qu’un voyage dans la liste se produise dans lequel aucun ISR dans la liste ne retourne STATUS_SUCCESS. |
Pour obtenir une description détaillée de ces trois modes, consultez Objets de synchronisation d’interruption.
Les paramètres OutInterruptSync, OuterUnknown et ResourceList suivent les conventions de comptage des références pour les objets COM.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | portcls.h (include Portcls.h) |
Bibliothèque | Portcls.lib |
IRQL | PASSIVE_LEVEL |