IMiniportDMus::Init-Methode (dmusicks.h)

Die Init -Methode initialisiert das DMus-Miniportobjekt.

Syntax

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

Parameter

[in, optional] 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 ein IResourceList-Objekt , das die Ressourcenliste des Adapters enthält. Nachdem dieser Verweis an den Miniporttreiber übergeben wurde, kann der Porttreiber den Inhalt der Ressourcenliste untersuchen, ändert jedoch den Inhalt dieser Liste nicht.

[in] Port

Zeiger auf ein IPortDMus-Objekt , das die Rückrufschnittstelle des Porttreibers bereitstellt.

[out] ServiceGroup

Ausgabezeiger für die Dienstgruppe. Dieser Parameter verweist auf eine vom Aufrufer zugeordnete Zeigervariable, in die die Methode einen Zeiger auf die IServiceGroup-Schnittstelle des Dienstgruppenobjekts des Miniporttreibers schreibt. Dies ist die Dienstgruppe, die dieser Miniporttreiber für Aufrufe von IPortDMus::Notify verwenden möchte.

Rückgabewert

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

Hinweise

Der pUnknownAdapter-Parameter ist optional:

  • Wenn pUnknownAdapter nicht NULL ist, fragt die Init Methode das pUnknownAdapter-Objekt für seine IInterruptSync-Schnittstelle ab.
  • Wenn pUnknownAdapterNULL ist, ruft die Init Methode PcNewInterruptSync auf, um ein neues IInterruptSync-Objekt zu erstellen. In diesem Fall stellt die Ressourcenliste, auf die pResourceList verweist, die Interruptressource bereit, die vom neuen IInterruptSync-Objekt verwendet wird.
In beiden Fällen rufen die Init Methode und die RegisterServiceRoutine-Methode für das IInterruptSync-Objekt auf, um die Interruptdienstroutine (ISR) des Miniporttreibers der Liste der ISRs hinzuzufügen. Wenn der Adaptertreiber das Portobjekt später freigibt, gibt der Porttreiber seinen Verweis auf das IInterruptSync-Objekt frei.

Die Parameter pUnknownAdapter und pResourceList sind die gleichen Zeigerwerte, die der Adaptertreiber zuvor als Parameter an die Methode des InitIPortDMus-Objekts übergeben hat (siehe IPort::Init).

Die Parameter pUnknownAdapter, pResourceList, pPort und ppServiceGroup folgen den Verweiszählungskonventionen für COM-Objekte.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dmusicks.h (einschließlich Dmusicks.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync