次の方法で共有


WSAProviderCompleteAsyncCall 関数 (ws2spi.h)

WSAProviderCompleteAsyncCall 関数は、名前空間バージョン 2 プロバイダーへの非同期呼び出しが完了したときにクライアントに通知します。

構文

INT WSAAPI WSAProviderCompleteAsyncCall(
  HANDLE hAsyncCall,
  INT    iRetCode
);

パラメーター

hAsyncCall

完了中の非同期呼び出しに渡されるハンドル。 このハンドルは、非同期関数呼び出しでクライアントによって名前空間バージョン 2 プロバイダーに渡されます。

iRetCode

名前空間バージョン 2 プロバイダーへの非同期呼び出しのリターン コード。

戻り値

エラーが発生しない場合、 WSAProviderCompleteAsyncCall は 0 を返します。

関数が失敗した場合、戻り値はSOCKET_ERROR。 拡張エラー情報を取得するには、 WSAGetLastError を呼び出します。これは、次のいずれかの拡張エラー値を返します。

エラー コード 意味
WSA_NOT_ENOUGH_MEMORY
操作を実行するためのメモリが不足していました。
WSAEFAULT
内部エラーが発生しました。
WSAEINVAL
パラメーターが無効でした。 hAsyncCall パラメーターが **NULL** の場合、このエラーが返されます。
WSANOTINITIALIZED
Ws2_32.dll が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前に、まず WSAStartup を呼び出す必要があります。

注釈

WSAProviderCompleteAsyncCall 関数は、Windows Vista 以降で使用できる名前空間サービス プロバイダー バージョン 2 (NSPv2) アーキテクチャの一部として使用されます。

Windows Vista および Windows Server 2008 では、 WSAUnadvertiseProvider 関数は、NS_EMAIL名前空間プロバイダーでの操作にのみ使用できます。 NSPv2 プロバイダーへの非同期呼び出しは、Windows Vista および Windows Server 2008 ではサポートされていません。 そのため、 WSAProviderCompleteAsyncCall は現在適用できません。 この関数は、名前空間プロバイダーへの非同期呼び出しがサポートされている場合に、新しいバージョンの Windows で使用する予定です。

一般に、NSPv2 プロバイダーは、呼び出し元のアプリケーション以外のプロセスに実装されます。 NSPv2 プロバイダーは、クライアント アクティビティの結果としてアクティブ化されません。 各プロバイダー ホスティング アプリケーションは、 WSAAdvertiseProvider 関数と WSAUnadvertiseProvider 関数を呼び出して、特定のプロバイダーを使用できるようにするタイミングと使用できないようにするタイミング 決定します。 クライアント アクティビティは、使用可能な場合 (名前空間プロバイダーがアドバタイズされている場合) にプロバイダーに接続しようとします。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ws2spi.h
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

NSPV2_ROUTINE

WSAAdvertiseProvider

WSAGetLastError

WSAUnadvertiseProvider