次の方法で共有


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 コードを返します。

リターン コード 形容
STATUS_SUCCESS
クライアント モジュールとプロバイダー モジュールが正常に相互に接続されました。
STATUS_NOINTERFACE
クライアント モジュールがプロバイダー モジュールにアタッチされなかったか、プロバイダー モジュールがクライアント モジュールにアタッチされませんでした。
その他の状態コードの
エラーが発生しました。

備考

クライアント モジュールがNMR に登録されると、クライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして登録されているプロバイダー モジュールごとに、クライアント モジュールの ClientAttachProvider コールバック関数が 1 回呼び出されます。

また、クライアント モジュールがクライアントとして登録されているのと同じ NPI のプロバイダーとして新しいネットワーク モジュールが登録されるたびに、クライアント モジュールの ClientAttachProvider コールバック関数も呼び出されます。

クライアント モジュールは、プロバイダー モジュールの登録データを調べることができます。 このデータは、ProviderRegistrationInstance パラメーターが指す構造にあります。 クライアント モジュールはこのデータを使用して、プロバイダー モジュールにアタッチするかどうかを判断します。

  • クライアント モジュールがプロバイダー モジュールにアタッチすると判断した場合、ClientAttachProvider コールバック関数は、NmrClientAttachProvider 関数を呼び出して添付ファイルプロセスを続行します。 このような場合、ClientAttachProvider コールバック関数は、呼び出しによって返される状態コードを返す必要があります。 NmrClientAttachProvider 関数です。
  • クライアント モジュールがプロバイダー モジュールにアタッチしないと判断した場合、ClientAttachProvider コールバック関数はSTATUS_NOINTERFACEを返す必要があります。
クライアント モジュールがプロバイダー モジュールに正常にアタッチされた場合は、NmrBindingHandle パラメーターに指定されたハンドルを保存する必要があります。 クライアント モジュールは、このハンドルをパラメーターとして NmrClientDetachProviderComplete プロバイダー モジュールからデタッチするときに関数です。

このNMRは、IRQL = PASSIVE_LEVELでクライアントモジュールの ClientAttachProvider コールバック関数を呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム ウィンドウズ
ヘッダー netioddk.h (Wsk.h を含む)
IRQL PASSIVE_LEVEL

関連項目

ClientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient