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
上の 1 つ以上のポインターを独自の IRP ハンドラーへのポインターで上書きするアダプター ドライバーは、IRP を PortCls に転送するために、ハンドラー ルーチン内から PcDispatchIrp 呼び出すことができます。 コード例については、Microsoft Windows Driver Kit (WDK) の SB16 サンプル オーディオ ドライバーを参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | PortCls システム ドライバーは、Microsoft Windows 98/Me および Windows 2000 以降のオペレーティング システムで PcInitializeAdapterDriver 関数を実装します。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | portcls.h (Portcls.h を含む) |
ライブラリ | Portcls.lib |
IRQL | PASSIVE_LEVEL |
関連項目
AddDevice の
PcAddAdapterDevice の