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 コードを返します。
リターン コード | 説明 |
---|---|
|
NMR によってクライアント モジュールが正常に登録されました。 |
|
NMR には、クライアント モジュールを登録するための十分なシステム リソースがありませんでした。 |
|
エラーが発生しました。 |
解説
クライアント モジュールは NmrRegisterClient 関数を呼び出して NPI のクライアントとして登録し、同じ NPI のプロバイダーとして登録するプロバイダー モジュールにアタッチできるようにします。
クライアント モジュールは通常、他のすべての初期化タスクを完了した後、DriverEntry 関数から NmrRegisterClient 関数を呼び出します。 NmrRegisterClient 関数の呼び出しは、クライアント モジュールがクライアントとして登録されている、またはクライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして登録されるプロバイダー モジュールに接続する準備ができていることを NMR に示します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | netioddk.h (Wsk.h を含む) |
Library | Netio.lib |
IRQL | PASSIVE_LEVEL |