次の方法で共有


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 は、次のいずれかの状態値を返します。

リターン コード 形容
NDIS_STATUS_SUCCESS

NdisRegisterProtocolDriver は、プロトコル ドライバーを登録した場合にNDIS_STATUS_SUCCESSを返します。

NDIS_STATUS_BAD_VERSION
MajorNdisVersion 構造体のメンバーで指定されたバージョン ProtocolCharacteristics が無効です。
NDIS_STATUS_BAD_CHARACTERISTICS
ProtocolCharacteristics パラメーターの構造体の一部のメンバーが無効です。
NDIS_STATUS_RESOURCES

リソースが不足しているため、NdisRegisterProtocolDriver 失敗しました。

NDIS_STATUS_FAILURE

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_CHARACTERISTICS

NdisDeregisterProtocolDriver

NdisSetOptionalHandlers