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を返します。 |
|
ProtocolCharacteristics で構造体の MajorNdisVersion メンバーで指定されたバージョンが無効です。 |
|
ProtocolCharacteristics パラメーターの構造体の一部のメンバーが無効です。 |
|
リソースが不足しているため、NdisRegisterProtocolDriver が失敗しました。 |
|
上記の値が適用されない場合、NdisRegisterProtocolDriver はNDIS_STATUS_FAILUREを返します。 |
注釈
プロトコル ドライバーは、その DriverEntry ルーチンから NdisRegisterProtocolDriver 関数を呼び出します。 DriverEntry の詳細については、「NDIS プロトコル ドライバーの DriverEntry」を参照してください。
NdisRegisterProtocolDriver を呼び出すドライバーは、ProtocolXxx 関数のいずれかをすぐに呼び出すために準備する必要があります。
すべてのプロトコル ドライバーは、 を設定して ProtocolXxx 関数のセットをエクスポートします。 構造体をNDIS_PROTOCOL_DRIVER_CHARACTERISTICS し、 NdisRegisterProtocolDriver を呼び出します。 NDIS は、NDIS ライブラリの内部記憶域にこの構造体をコピーします。
プロトコル ドライバーがオプションのサービスを登録できるようにするには、NdisRegisterProtocolDriver のコンテキスト内で ProtocolSetOptions 関数を呼び出します。
プロトコル ドライバーは、 を呼び出します。 以前に NdisRegisterProtocolDriver で割り当てられたリソースを解放するための NdisDeregisterProtocolDriver 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | Irql_Protocol_Driver_Function(ndis) |