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) を返す必要があります。
エラー コード | 意味 |
---|---|
この操作を実行するのに十分なメモリがありません。 | |
呼び出し元ルーチンには、サービスを初期化するための十分な特権がありません。 | |
このプロバイダーに対して、1 つ以上のパラメーターが無効であるか、不足しています。 | |
この操作はサポートされていません。 名前空間プロバイダーがこの関数を実装していない場合、このエラーが返されます。 | |
サービスが不明です。 指定した名前空間にサービスが見つかりません。 |
注釈
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 のみです。上記の 呼び出しは、名前空間サービス プロバイダーの内部参照カウントをデクリメントします。
NSPv2Startup、NSPv2ClientSessionRundown、および NSPv2Cleanup 関数は、NSPv2 プロバイダーの要件に応じてオプションです。
NSPv2Startup 関数が実装されていない場合、その関数の呼び出しは、WSAEOPNOTSUPP を返すスタブ関数によってインターセプトされる必要があります。 NSPV2_ROUTINE構造体の実装されていない NSPv2Startup 関数への NSPv2 関数ポインターは、スタブ関数を指している必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ws2spi.h |