NPI_CLIENT_ATTACH_PROVIDER_FN コールバック関数 (netioddk.h)
クライアント モジュールの ClientAttachProvider コールバック関数は、クライアント モジュールをプロバイダー モジュールにアタッチします。
構文
NPI_CLIENT_ATTACH_PROVIDER_FN NpiClientAttachProviderFn;
NTSTATUS NpiClientAttachProviderFn(
[in] HANDLE NmrBindingHandle,
[in] PVOID ClientContext,
[in] PNPI_REGISTRATION_INSTANCE ProviderRegistrationInstance
)
{...}
パラメーター
[in] NmrBindingHandle
クライアント モジュールとプロバイダー モジュールの間のバインドを表すために、NMR によって使用されるハンドル。
[in] ClientContext
クライアント モジュールの登録コンテキストへのポインター。 クライアント モジュールは、 NmrRegisterClient 関数を呼び出して自身を NMR に登録するときに、このポインターを NMR に渡します。
[in] ProviderRegistrationInstance
へのポインター NPI_REGISTRATION_INSTANCE 構造体。 この構造体には、プロバイダー モジュールの登録データが含まれています。
戻り値
クライアント モジュールの ClientAttachProvider コールバック関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
|
クライアント モジュールとプロバイダー モジュールが正常に相互に接続されました。 |
|
クライアント モジュールがプロバイダー モジュールにアタッチされなかったか、プロバイダー モジュールがクライアント モジュールにアタッチされませんでした。 |
|
エラーが発生しました。 |
解説
クライアント モジュールが NMR に登録されると、クライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして登録されているプロバイダー モジュールごとに、クライアント モジュールの ClientAttachProvider コールバック関数が 1 回呼び出されます。
また、クライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして新しいネットワーク モジュールが登録されるたびに、クライアント モジュールの ClientAttachProvider コールバック関数も呼び出されます。
クライアント モジュールは、プロバイダー モジュールの登録データを調べることができます。 このデータは、 ProviderRegistrationInstance パラメーターによって指される構造にあります。 クライアント モジュールは、このデータを使用して、プロバイダー モジュールにアタッチするかどうかを決定します。
- クライアント モジュールがプロバイダー モジュールにアタッチすると判断した場合、 ClientAttachProvider コールバック関数は NmrClientAttachProvider 関数を呼び出して添付ファイル プロセスを続行します。 この状況では、 ClientAttachProvider コールバック関数は、 の呼び出しによって返される状態コードを返す必要があります。 NmrClientAttachProvider 関数。
- クライアント モジュールがプロバイダー モジュールにアタッチしないと判断した場合、 ClientAttachProvider コールバック関数はSTATUS_NOINTERFACEを返す必要があります。
NMR は、IRQL = PASSIVE_LEVELでクライアント モジュールの ClientAttachProvider コールバック関数を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | Windows |
ヘッダー | netioddk.h (Wsk.h を含む) |
IRQL | PASSIVE_LEVEL |