Share via


LPNSPV2STARTUP コールバック関数 (ws2spi.h)

NSPv2Startup 関数は、新しいクライアント プロセスがプロバイダーの使用を開始することを名前空間サービス プロバイダー バージョン 2 (NSPv2) プロバイダーに通知します。

構文

LPNSPV2STARTUP Lpnspv2startup;

INT Lpnspv2startup(
  [in] LPGUID lpProviderId,
  [in] LPVOID *ppvClientSessionArg
)
{...}

パラメーター

[in] lpProviderId

通知する特定の名前空間プロバイダーの GUID へのポインター。

[in] ppvClientSessionArg

クライアント セッションへのポインター。

戻り値

ルーチンが成功した場合、関数は NO_ERROR (ゼロ) を返す必要があります。 ルーチン 失敗し、 WSASetLastError を使用して適切なエラー コードを設定する必要がある場合は、SOCKET_ERROR (つまり 1) を返す必要があります。

エラー コード 意味
WSA_NOT_ENOUGH_MEMORY
この操作を実行するのに十分なメモリがありません。
WSAEACCES
呼び出し元ルーチンには、サービスを初期化するための十分な特権がありません。
WSAEINVAL
このプロバイダーに対して、1 つ以上のパラメーターが無効であるか、不足しています。
WSAEOPNOTSUPP
この操作はサポートされていません。 名前空間プロバイダーがこの関数を実装していない場合、このエラーが返されます。
WSASERVICE_NOT_FOUND
サービスが不明です。 指定した名前空間にサービスが見つかりません。

注釈

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

Windows Vista および Windows Server 2008 では、 NSPv2Startup 関数は、NS_EMAIL名前空間プロバイダーに対する操作にのみ使用できます。

NSPv2Startup 関数は、新しいクライアント プロセスが名前空間プロバイダーの使用を開始するたびに呼び出されます。 プロバイダーは、 ppvClientSessionArg パラメーターが指すクライアント セッション引数を使用して、このセッションに関する情報を格納できます。 ppvClientSessionArg パラメーターの値は、同じセッション内の後続の NSPv2 関数呼び出しに渡されます。 名前空間プロバイダーがこの情報を必要としない場合、クライアント セッション引数は NULL になる可能性があります。

NSPv2Startup 関数は、新しいクライアント セッションが初期化されるときに呼び出されます。 NSPv2Startup 関数と NSPv2Cleanup 関数は、ペアとして呼び出す必要があります。

NSPv2Cleanup 関数を呼び出す前に、NSPv2Startup 関数を正常に呼び出す必要があります。 複数の NSPv2Startup 呼び出しを行うことができます。 ただし、 NSPv2Startup 呼び出しごとに、対応する NSPv2Cleanup 呼び出しも発行する必要があります。 実際のクリーンアップは、サービス プロバイダーの最終的な NSPv2Cleanup のみです。上記の 呼び出しは、名前空間サービス プロバイダーの内部参照カウントをデクリメントします。

NSPv2StartupNSPv2ClientSessionRundown、および NSPv2Cleanup 関数は、NSPv2 プロバイダーの要件に応じてオプションです。

NSPv2Startup 関数が実装されていない場合、その関数の呼び出しは、WSAEOPNOTSUPP を返すスタブ関数によってインターセプトされる必要があります。 NSPV2_ROUTINE構造体の実装されていない NSPv2Startup 関数への NSPv2 関数ポインターは、スタブ関数を指している必要があります。

要件

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

こちらもご覧ください

NSPV2_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

WSAQUERYSET2

WSASetLastError