Freigeben über


PcInitializeAdapterDriver-Funktion (portcls.h)

Die PcInitializeAdapterDriver--Funktion bindet einen Adaptertreiber an den PortCls-Systemtreiber. IRP-Handler und -Handler für das Hinzufügen und Entfernen von Geräten werden im Treiberobjekt installiert. Adaptertreiber, die an mehrere Klassentreiber gebunden werden müssen, sollten diese Funktion nicht aufrufen.

Syntax

PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
  [in] PDRIVER_OBJECT     DriverObject,
  [in] PUNICODE_STRING    RegistryPathName,
  [in] PDRIVER_ADD_DEVICE AddDevice
);

Parameter

[in] DriverObject

Zeiger auf das Treiberobjekt, bei dem es sich um eine Systemstruktur vom Typ DRIVER_OBJECThandelt. Dieser Zeiger wird als Parameter an die DriverEntry-Funktion des Adapters übergeben.

[in] RegistryPathName

Gibt den Registrierungspfadnamen an, der als Parameter an die DriverEntry-Funktion des Adapters übergeben werden soll.

[in] AddDevice

Zeiger auf die AddDevice--Funktion des Adapters. Dies ist ein Zeiger vom Typ PDRIVER_ADD_DEVICE, der in ntddk.h definiert ist, um Folgendes zu sein:

  NTSTATUS
    (*PDRIVER_ADD_DEVICE)(
      IN struct _DRIVER_OBJECT  *DriverObject,
      IN struct _DEVICE_OBJECT  *PhysicalDeviceObject
        );

Rückgabewert

PcInitializeAdapterDriver gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Bemerkungen

Der im Aufruf dieser Funktion bereitgestellte AddDevice--Handler sollte PcAddAdapterDevice-aufrufen. Weitere Informationen finden Sie unter Startup Sequence.

Die PcInitializeAdapterDriver--Funktion lädt Zeiger auf Handler für die folgenden IRPs in das Treiberobjekt:

  • IRP_MJ_CLOSE
  • IRP_MJ_CREATE
  • IRP_MJ_DEVICE_CONTROL
  • IRP_MJ_FLUSH_BUFFERS
  • IRP_MJ_PNP
  • IRP_MJ_POWER
  • IRP_MJ_QUERY_SECURITY
  • IRP_MJ_READ
  • IRP_MJ_SET_SECURITY
  • IRP_MJ_SYSTEM_CONTROL
  • IRP_MJ_WRITE
PortCls verwendet eigene interne Handler für die oben genannten IRPs CREATE, PNP, POWER und SYSTEM_CONTROL IRPs. Es verwendet die Standard-KS-Handler für die anderen sieben IRPs.

Ein Adaptertreiber, der einen oder mehrere der obigen Zeiger mit einem Zeiger auf seinen eigenen IRP-Handler überschreibt, kann PcDispatchIrp- aus seiner Handlerroutine aufrufen, um das IRP an PortCls weiterzuleiten. Ein Codebeispiel finden Sie unter dem SB16-Beispielaudiotreiber im Microsoft Windows Driver Kit (WDK).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Der PortCls-Systemtreiber implementiert die PcInitializeAdapterDriver-Funktion in Microsoft Windows 98/Me und in Windows 2000 und höher.
Zielplattform- Universal
Header- portcls.h (include Portcls.h)
Library Portcls.lib
IRQL- PASSIVE_LEVEL

Siehe auch

AddDevice-

DRIVER_OBJECT

DriverEntry-

PcAddAdapterDevice

PcDispatchIrp