NmrRegisterClient 関数 (netioddk.h)

NmrRegisterClient 関数は、クライアント モジュールを NMR に登録します。

構文

NTSTATUS NmrRegisterClient(
  [in]  PNPI_CLIENT_CHARACTERISTICS ClientCharacteristics,
  [in]  __drv_aliasesMem PVOID      ClientContext,
  [out] PHANDLE                     NmrClientHandle
);

パラメーター

[in] ClientCharacteristics

へのポインター NPI_CLIENT_CHARACTERISTICS クライアント モジュールの特性を記述する構造体です。 クライアント モジュールは、クライアント モジュールが NMR に登録されている限り、この構造体が有効であり、メモリ内に常駐していることを確認する必要があります。

[in] ClientContext

登録の呼び出し元が指定したコンテキストへのポインター。 クライアント モジュールでは、このコンテキストを使用して、クライアント登録の状態を追跡します。 クライアント モジュールの登録コンテキストの内容は、NMR に対して不透明です。 NMR は、クライアント モジュールの ClientAttachProvider コールバック関数を呼び出すたびに、このポインターをクライアント モジュールに渡します。 クライアント モジュールは、クライアント モジュールが NMR に登録されている限り、登録コンテキストが有効であり、メモリに常駐していることを確認する必要があります。

[out] NmrClientHandle

クライアント モジュールの登録を表すために NMR によって使用されるハンドルを受け取る変数へのポインター。 クライアント モジュールは、このハンドルを保存し、NMR から登録解除するときに 、それをパラメーターとして NmrDeregisterClient 関数に渡す必要があります。

戻り値

NmrRegisterClient 関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS
NMR によってクライアント モジュールが正常に登録されました。
STATUS_INSUFFICIENT_RESOURCES
NMR には、クライアント モジュールを登録するための十分なシステム リソースがありませんでした。
その他の状態コード
エラーが発生しました。

解説

クライアント モジュールは NmrRegisterClient 関数を呼び出して NPI のクライアントとして登録し、同じ NPI のプロバイダーとして登録するプロバイダー モジュールにアタッチできるようにします。

クライアント モジュールは通常、他のすべての初期化タスクを完了した後、DriverEntry 関数から NmrRegisterClient 関数を呼び出します。 NmrRegisterClient 関数の呼び出しは、クライアント モジュールがクライアントとして登録されている、またはクライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして登録されるプロバイダー モジュールに接続する準備ができていることを NMR に示します。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header netioddk.h (Wsk.h を含む)
Library Netio.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

DriverEntry

NPI_CLIENT_CHARACTERISTICS

NmrDeregisterClient