NdisRegisterProtocolDriver 関数 (ndis.h)
プロトコル ドライバーは、NdisRegisterProtocolDriver 関数を呼び出して、ProtocolXxx 関数を NDIS に登録します。
構文
NDIS_STATUS NdisRegisterProtocolDriver(
[in, optional] NDIS_HANDLE ProtocolDriverContext,
[in] PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
[out] PNDIS_HANDLE NdisProtocolHandle
);
パラメーター
[in, optional] ProtocolDriverContext
ドライバーが状態と構成情報を保持する、ドライバーによって割り当てられたコンテキスト領域へのハンドル。
[in] ProtocolCharacteristics
へのポインター NDIS_PROTOCOL_DRIVER_CHARACTERISTICS プロトコル ドライバーが作成し、その ProtocolXxx 関数エントリ ポイントで初期化する構造体です。
[out] NdisProtocolHandle
呼び出し元が指定したハンドル変数へのポインター。 NDIS は、登録しているドライバーを一意に識別するこの変数にハンドルを書き込みます。 ドライバーは、後続の NdisXxx 関数呼び出しで使用するために、このハンドルを保存する必要があります。
戻り値
NdisRegisterProtocolDriver は、次のいずれかの状態値を返します。
リターン コード | 形容 |
---|---|
|
NdisRegisterProtocolDriver は、プロトコル ドライバーを登録した場合にNDIS_STATUS_SUCCESSを返します。 |
|
MajorNdisVersion 構造体のメンバーで指定されたバージョン ProtocolCharacteristics が無効です。 |
|
ProtocolCharacteristics パラメーターの構造体の一部のメンバーが無効です。 |
|
|
|
NdisRegisterProtocolDriver は、上記の値が適用されない場合にNDIS_STATUS_FAILUREを返します。 |
備考
プロトコル ドライバーは、DriverEntry ルーチンから NdisRegisterProtocolDriver 関数を呼び出します。 DriverEntryの詳細については、「NDIS プロトコル ドライバーの DriverEntry」を参照してください。
NdisRegisterProtocolDriver を呼び出すドライバーは、ProtocolXxx 関数のいずれかをすぐに呼び出すために準備する必要があります。
すべてのプロトコル ドライバーは、ProtocolXxx 関数のセットをエクスポートします。構造体を NDIS_PROTOCOL_DRIVER_CHARACTERISTICS し、NdisRegisterProtocolDriver 呼び出します。 NDIS は、NDIS ライブラリの内部記憶域にこの構造体をコピーします。
プロトコル ドライバーが省略可能なサービスを登録できるようにするには、NDIS ProtocolSetOptions 関数 NdisRegisterProtocolDriverのコンテキスト内で呼び出します。
プロトコル ドライバーは、NdisRegisterProtocolDriver NdisRegisterProtocolDriverで以前に割り当てられたリソースを解放する機能を します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | Irql_Protocol_Driver_Function(ndis) |
関連項目
NDIS プロトコル ドライバーの DriverEntry
NDIS_PROTOCOL_DRIVER_CHARACTERISTICSNdisDeregisterProtocolDriver の