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 関数へのポインター。 これは、次のように ntddk.h で定義されるPDRIVER_ADD_DEVICE型のポインターです。
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 関数を実装します。 |
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |