IMiniportDMus::Init-Methode (dmusicks.h)

Die Init Methode initialisiert das DMus miniport-Objekt.

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 auf den Miniporttreiber übergeben wurde, kann der Porttreiber den Inhalt der Ressourcenliste untersuchen, aber den Inhalt dieser Liste nicht ändern.

[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 caller-zugeordnete Zeigervariable, in die die Methode einen Zeiger auf die IServiceGroup-Schnittstelle des Dienstgruppenobjekts des Miniport-Treibers schreibt. Dies ist die Dienstgruppe, die dieser Miniporttreiber für Anrufe an IPortDMus::Notify verwendet haben möchte.

Rückgabewert

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

Bemerkungen

Der Parameter "pUnknownAdapter " 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 verweist die Ressourcenliste, auf die pResourceList verweist, um die Unterbrechungsressource zu liefern, die das neue IInterruptSync-Objekt verwendet.
In beiden Fällen ruft die Methode und ruft die InitRegisterServiceRoutine-Methode für das IInterruptSync-Objekt auf, um die Unterbrechungsdienstroutine (ISR) des Miniport-Treibers zur Liste der ISRs hinzuzufügen. Wenn der Adaptertreiber später das Portobjekt freigibt, gibt der Porttreiber seinen Verweis auf das IInterruptSync-Objekt frei.

Die Parameter "pUnknownAdapter " und "pResourceList " sind dieselben Zeigerwerte, die der Adaptertreiber zuvor als Parameter an die IPortDMus-ObjektmethodeInit übergeben hat (siehe IPort::Init).

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

Anforderungen

   
Zielplattform Desktop
Header dmusicks.h (include Dmusicks.h)
IRQL PASSIVE_LEVEL

Siehe auch

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync