IPort::Init-Methode (portcls.h)
Die Init-Methode initialisiert den Porttreiber.
Syntax
NTSTATUS Init(
PVOID DeviceObject,
PVOID Irp,
PUNKNOWN UnknownMiniport,
PUNKNOWN UnknownAdapter,
PRESOURCELIST ResourceList
);
Parameter
DeviceObject
Zeiger auf das Geräteobjekt, das als Argument an die Gerätestartroutine des Adaptertreibers übergeben wurde. Das Geräteobjekt ist eine Systemstruktur vom Typ DEVICE_OBJECT.
Irp
Zeiger auf den IRP, der als Argument an die Gerätestartroutine des Adaptertreibers übergeben wurde.
UnknownMiniport
Zeiger auf die IUnknown-Schnittstelle des nicht initialisierten Miniportobjekts. Diese Schnittstelle wird nach der spezifischen Miniportschnittstelle abgefragt, die vom Porttreiber unterstützt wird, und die Initialisierungsfunktion für diese Schnittstelle wird aufgerufen.
UnknownAdapter
Zeiger auf die IUnknown-Schnittstelle des Adapterobjekts, dessen Porttreiber initialisiert wird. Dieser Zeiger ist optional und kann als NULL angegeben werden. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
ResourceList
Zeiger auf das IResourceList-Objekt, das als Argument an die Gerätestartroutine des Adaptertreibers übergeben wurde. Nachdem dieser Verweis an den Miniporttreiber übergeben wurde, kann der Porttreiber den Inhalt der Ressourcenliste untersuchen, ändert jedoch den Inhalt dieser Liste nicht.
Rückgabewert
Diese Methode gibt NTSTATUS zurück, das STATUS_SUCCESS enthält, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück.
Hinweise
Das von UnknownMiniport angegebene Miniportobjekt muss die vom Porttreiber erforderliche Miniportschnittstelle unterstützen, andernfalls schlägt der Init-Aufruf fehl.
Während des IPort::Init-Aufrufs ruft der Porttreiber die Initialisierungsmethode des Miniporttreibers auf (siehe z. B. IMiniportWavePci::Init).
Der Parameter UnknownAdapter verweist auf die COM-Schnittstelle eines Adapterobjekts. Der Adaptertreiber erstellt dieses Objekt in der Regel innerhalb seiner Gerätestartroutine, der Routine, die das Betriebssystem zum Starten des Geräts aufruft (siehe Startsequenz). Ein Beispiel für eine Schnittstelle für ein Adapterobjekt finden Sie in der CMiniportWaveRT::Init
Definition und Implementierung im Sysvad-Audiotreiberbeispiel.
Die Parameter UnknownMiniport, UnknownAdapter und ResourceList folgen den Standardkonventionen für die Verweiszählung für COM-Objekte.
Anforderungen
Anforderung | Wert |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |