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 オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | netioddk.h (Wsk.h を含む) |
IRQL | PASSIVE_LEVEL |