次の方法で共有


NdisRegisterDeviceEx 関数 (ndis.h)

NdisRegisterDeviceEx 関数は、指定した属性に基づくデバイス オブジェクトを作成します。

構文

NDIS_STATUS NdisRegisterDeviceEx(
  [in]  NDIS_HANDLE                    NdisHandle,
  [in]  PNDIS_DEVICE_OBJECT_ATTRIBUTES DeviceObjectAttributes,
  [out] PDEVICE_OBJECT                 *pDeviceObject,
  [out] PNDIS_HANDLE                   NdisDeviceHandle
);

パラメーター

[in] NdisHandle

呼び出し元が取得したミニポート ドライバー ハンドルまたはフィルター ドライバー ハンドルNdisMRegisterMiniportDriver 関数またはNdisFRegisterFilterDriver 関数をそれぞれ します。

[in] DeviceObjectAttributes

へのポインター NDIS_DEVICE_OBJECT_ATTRIBUTES 新しいデバイスの属性を含む構造体です。

[out] pDeviceObject

呼び出しが成功した場合に、新しく作成された DEVICE_OBJECT 構造体へのポインターを指すポインター。 呼び出しが失敗した場合、pDeviceObject は NULL ポイントするように設定されます。

[out] NdisDeviceHandle

この関数が成功した場合、デバイス オブジェクトへのハンドルを返す呼び出し元が指定した変数へのポインター。 このハンドルは、ドライバーが後で呼び出す NdisDeregisterDeviceEx 関数に必要なパラメーターです。

戻り値

NdisRegisterDeviceEx は、次のいずれかの状態値を返します。

リターン コード 形容
NDIS_STATUS_SUCCESS
NdisRegisterDeviceEx デバイスが正常に登録されました。
NDIS_STATUS_NOT_SUPPORTED
呼び出し元は NDIS ドライバーではありません。
NDIS_STATUS_XXX またはNTSTATUS_XXX
ドライバーがデバイスを登録できませんでした。 通常、このようなエラー状態は、NdisXxx関数またはカーネル モード サポート ルーチン から伝達されます。

備考

ミニポート ドライバーとフィルター ドライバーは、仮想デバイス 登録する NdisRegisterDeviceEx を呼び出すことができます。

注: NDIS ドライバー、NdisRegisterDeviceEx 作成DEVICE_OBJECT 構造体の DeviceExtension メンバーを変更しないでください。
 
NDIS ドライバーがデバイス オブジェクト内のコンテキスト情報の領域を必要とする場合、ドライバーは、ExtensionSize メンバーの 0 以外の値を渡すことができます。 DeviceObjectAttributes パラメーターで構造体を NDIS_DEVICE_OBJECT_ATTRIBUTES します。 この場合、NDIS は、ドライバーの拡張機能を割り当て、ドライバーを呼び出すことができます。NdisGetDeviceReservedExtension 関数を して、拡張機能へのポインターを取得します。

ドライバーは、デバイスが不要になったときに、その後、NdisDeregisterDeviceEx 関数を呼び出す必要があります。 NdisRegisterDeviceEx 拡張機能 割り当てられている場合は、NdisDeregisterDeviceEx 拡張機能を解放します。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する Irql_Miscellaneous_Function(ndis)

関連項目

DEVICE_OBJECT

NDIS_DEVICE_OBJECT_ATTRIBUTES

NdisDeregisterDeviceEx

NdisFRegisterFilterDriver

NdisGetDeviceReservedExtension

NdisMRegisterMiniportDriver