Win32 API 日本語リファレンス
ホーム › Networking.WinSock › LPNSPCLEANUP

LPNSPCLEANUP

コールバック

シグネチャ

INT LPNSPCLEANUP(
    GUID* lpProviderId
);

パラメーター

フィールド型説明
lpProviderIdGUID*終了する名前空間プロバイダーの GUID へのポインター。

公式ドキュメント

NSPCleanup 関数は、特定の Windows ソケット名前空間サービスプロバイダーの使用を終了します。

戻り値

エラーが発生しない場合、NSPCleanup は NO_ERROR (ゼロ) を返します。それ以外の場合は SOCKET_ERROR (–1) が返され、プロバイダーは WSASetLastError を使用して適切なエラーコードを設定する必要があります。

エラーコード 意味
WSA_NOT_ENOUGH_MEMORY この操作を実行するのに十分なメモリがありません。
WSAEINVAL lpProviderId パラメーターが有効なプロバイダーを指定していません。
WSAEOPNOTSUPP この操作はサポートされていません。名前空間プロバイダーがこの関数を実装していない場合に、このエラーが返されます。

解説(Remarks)

NSPCleanup 関数は、アプリケーションが Windows ソケット名前空間サービスプロバイダーの使用を終えたときに呼び出されます。NSPCleanup 関数は特定の名前空間プロバイダーの登録を解除し、トランスポートサービスプロバイダーがその名前空間プロバイダーの割り当て済みリソースを解放できるようにします。

名前空間プロバイダーを使用する前に、NSPStartup 関数を正常に呼び出しておく必要があります。 NSPStartup は複数回呼び出すことができます。ただし、 NSPStartup の呼び出しごとに、対応する NSPCleanup の呼び出しも発行する必要があります。実際のクリーンアップを行うのは、そのサービスプロバイダーに対する最後の NSPCleanup のみです。それ以前の呼び出しは、サービスプロバイダー内部の参照カウントを減らします。

この関数は、名前空間サービスプロバイダーの DLL をメモリからアンロードできる状態になるまで返してはなりません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)