Freigeben über


IMiniportMidi::Init-Methode (portcls.h)

Die Init -Methode initialisiert das MIDI-Miniportobjekt.

Syntax

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

Parameter

[in] UnknownAdapter

Zeiger auf die IUnknown-Schnittstelle des Adapterobjekts, dessen Miniportobjekt initialisiert wird. Dieser Parameter ist optional und kann als NULL angegeben werden. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[in] ResourceList

Zeiger auf die IResourceList-Schnittstelle des Ressourcenlistenobjekts, das während der Initialisierung an den Miniporttreiber bereitgestellt werden soll. Nachdem dieser Verweis auf den Miniporttreiber übergeben wurde, kann der Porttreiber den Inhalt der Ressourcenliste untersuchen, ändert jedoch nicht den Inhalt dieser Liste. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[in] Port

Zeiger auf das IPortMidi-Objekt , das an dieses Miniportobjekt gebunden ist. Der Aufrufer gibt einen gültigen Zeigerwert ohne NULL für diesen Parameter an.

[out] ServiceGroup

Ausgabezeiger für die Dienstgruppe. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die -Methode einen Zeiger auf die IServiceGroup-Schnittstelle des Dienstgruppenobjekts des Miniporttreibers schreibt. Dies ist die Dienstgruppe, die für Unterbrechungsbenachrichtigungen registriert wird. Der Aufrufer gibt einen gültigen Zeigerwert ohne NULL für diesen Parameter an.

Rückgabewert

Init gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück.

Hinweise

Der UnknownAdapter-Parameter ist optional:

  • Wenn UnknownAdapter nicht NULL ist, fragt die Init Methode das UnknownAdapter-Objekt nach seiner IInterruptSync-Schnittstelle ab.
  • Wenn UnknownAdapterNULL ist, ruft die Init -Methode PcNewInterruptSync auf, um ein neues IInterruptSync-Objekt zu erstellen. In diesem Fall stellt die Ressourcenliste, auf die ResourceList verweist, die Interruptressource bereit, die das neue IInterruptSync-Objekt verwendet.
In beiden Fällen ruft die Init Methode und die RegisterServiceRoutine-Methode für das IInterruptSync-Objekt auf, um die Interruptdienstroutine (ISR) des Miniporttreibers zur Liste der Interruptsynchronisierungsroutinen hinzuzufügen. Wenn der Adaptertreiber das Portobjekt später freigibt, gibt der Porttreiber seinen Verweis auf das IInterruptSync-Objekt frei.

Die Parameter UnknownAdapter und ResourceList sind dieselben Zeigerwerte, die der Adaptertreiber zuvor als Parameter an die Init-Methode des IPortMidi-Objekts übergeben hat (siehe IPort::Init).

Die Parameter UnknownAdapter, ResourceList, Port und ServiceGroup folgen den Referenzzählungskonventionen für COM-Objekte.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync