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 驅動程式套件中的 SB16 範例音訊驅動程式 (WDK) 。

規格需求

需求
最低支援的用戶端 PortCls 系統驅動程式會在 Microsoft Windows 98/Me 和 Windows 2000 和更新版本的操作系統中實作 PcInitializeAdapterDriver 函式。
目標平台 Universal
標頭 portcls.h (包含 Portcls.h)
程式庫 Portcls.lib
IRQL PASSIVE_LEVEL

另請參閱

AddDevice

DRIVER_OBJECT

DriverEntry

PcAddAdapterDevice

PcDispatchIrp