IMiniportMidi ::Init, méthode (portcls.h)

La Init méthode initialise l’objet miniport MIDI.

Syntaxe

NTSTATUS Init(
  [in]  PUNKNOWN      UnknownAdapter,
  [in]  PRESOURCELIST ResourceList,
  [in]  PPORTMIDI     Port,
  [out] PSERVICEGROUP *ServiceGroup
);

Paramètres

[in] UnknownAdapter

Pointeur vers l’interface IUnknown de l’objet adaptateur dont l’objet miniport est en cours d’initialisation. Ce paramètre est facultatif et peut être spécifié comme NULL. Pour plus d'informations, consultez la section Notes qui suit.

[in] ResourceList

Pointeur vers l’interface IResourceList de l’objet de liste de ressources qui doit être fourni au pilote miniport lors de l’initialisation. Après avoir passé cette référence au pilote miniport, le pilote de port est libre d’examiner le contenu de la liste de ressources, mais ne modifie pas le contenu de cette liste. Pour plus d'informations, consultez la section Notes qui suit.

[in] Port

Pointeur vers l’objet IPortMidi lié à cet objet miniport. L’appelant spécifie une valeur de pointeur non NULL valide pour ce paramètre.

[out] ServiceGroup

Pointeur de sortie pour le groupe de services. Ce paramètre pointe vers une variable de pointeur allouée à l’appelant dans laquelle la méthode écrit un pointeur vers l’interface IServiceGroup de l’objet groupe de services du pilote miniport. Il s’agit du groupe de services inscrit pour la notification d’interruption. L’appelant spécifie une valeur de pointeur non NULL valide pour ce paramètre.

Valeur retournée

Init retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.

Remarques

Le paramètre UnknownAdapter est facultatif :

  • Si UnknownAdapter n’a pas la valeur NULL, la Init méthode interroge l’objet UnknownAdapter pour son interface IInterruptSync .
  • Si UnknownAdapter a la valeur NULL, la Init méthode appelle PcNewInterruptSync pour créer un objet IInterruptSync . Dans ce cas, la liste de ressources que ResourceList pointe vers fournit la ressource d’interruption que le nouvel objet IInterruptSync utilise.
Dans les deux cas, la Init méthode et appelle la méthode RegisterServiceRoutine sur l’objet IInterruptSync afin d’ajouter la routine de service d’interruption du pilote miniport (ISR) à la liste des routines de synchronisation d’interruption. Lorsque le pilote d’adaptateur libère ultérieurement l’objet port, celui-ci libère sa référence à l’objet IInterruptSync .

Les paramètres UnknownAdapter et ResourceList sont les mêmes valeurs de pointeur que le pilote d’adaptateur passé précédemment en tant que paramètres à la méthode Init de l’objet IPortMidi (voir IPort ::Init).

Les paramètres UnknownAdapter, ResourceList, Port et ServiceGroup suivent les conventions de comptage des références pour les objets COM.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Voir aussi

IInterruptSync

IMiniportMidi

IPort ::init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync