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

Voir aussi

IInterruptSync

IResourceList

IResourceList ::NumberOfEntriesOfType