共用方式為


PcInitializeAdapterDriver 函式 (portcls.h)

PcInitializeAdapterDriver 函式會將配接器驅動程式系結至 PortCls 系統驅動程式。 驅動程式物件中會安裝裝置新增和移除的 IRP 處理程式和處理程式。 需要系結至多個類別驅動程式的配接器驅動程序不應該呼叫此函式。

語法

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

參數

[in] DriverObject

驅動程式物件的指標,這是類型為 DRIVER_OBJECT的系統結構。 此指標會當做參數傳遞至配接器的 DriverEntry 函式。

[in] RegistryPathName

指定要當做參數傳遞至配接器 DriverEntry 函式的登錄路徑名稱。

[in] AddDevice

配接器 AddDevice 函式的指標。 這是類型為 PDRIVER_ADD_DEVICE 的指標,其定義在 ntddk.h 中為:

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

傳回值

PcInitializeAdapterDriver 如果呼叫成功,就會傳回STATUS_SUCCESS。 否則,它會傳回適當的錯誤碼。

言論

呼叫此函式時所提供的 AddDevice 處理程式應該呼叫 pcAddAdapterDevice 。 如需詳細資訊,請參閱 啟動順序

PcInitializeAdapterDriver 函式會將下列 IRP 的指標載入驅動程序物件:

  • 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 會針對上述 CREATE、PNP、POWER 和 SYSTEM_CONTROL IRP 使用自己的內部處理程式。 它會針對其他七個 IRP 使用預設的 KS 處理程式。

使用本身 IRP 處理程式指標覆寫上述一或多個指標的配接器驅動程式,可以從其處理程式例程內呼叫 PcDispatchIrp,以便將 IRP 轉送至 PortCls。 如需程式代碼範例,請參閱 Microsoft Windows 驅動程式套件 (WDK) 中的 SB16 範例音訊驅動程式。

要求

要求 價值
最低支援的用戶端 PortCls 系統驅動程式會在 Microsoft Windows 98/Me 和 Windows 2000 和更新版本的作系統中實作 PcInitializeAdapterDriver 函式。
目標平臺 普遍
標頭 portcls.h (包括 Portcls.h)
連結庫 Portcls.lib
IRQL PASSIVE_LEVEL

另請參閱

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp