SetServiceW 関数 (nspapi.h)
SetService 関数は、1 つ以上の名前空間内のネットワーク サービスをレジストリに登録または削除します。 関数は、1 つ以上の名前空間内のネットワーク サービスの種類を追加または削除することもできます。
構文
INT SetServiceW(
[in] DWORD dwNameSpace,
[in] DWORD dwOperation,
[in] DWORD dwFlags,
[in] LPSERVICE_INFOW lpServiceInfo,
[in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
[out] LPDWORD lpdwStatusFlags
);
パラメーター
[in] dwNameSpace
名前空間、または関数が動作する既定の名前空間のセット。
名前空間を指定するには、次のいずれかの定数を使用します。
[in] dwOperation
関数が実行する操作。 操作を指定するには、次のいずれかの値を使用します。
値 | 意味 |
---|---|
|
名前空間にネットワーク サービスを登録します。 この操作は、SERVICE_FLAG_DEFERおよびSERVICE_FLAG_HARDビット フラグと共に使用できます。 |
|
名前空間からネットワーク サービスをレジストリから削除します。 この操作は、SERVICE_FLAG_DEFERおよびSERVICE_FLAG_HARDビット フラグと共に使用できます。 |
|
SERVICE_FLAG_DEFER ビット フラグを 1 に設定して呼び出されたすべての操作を実行します。 |
|
名前空間にサービスの種類を追加します。
この操作では、lpServiceInfo が指すSERVICE_INFO構造体の ServiceSpecificInfo メンバーを使用して、SERVICE_TYPE_INFO_ABS構造体を渡します。 SERVICE_INFO構造体の ServiceType メンバーも設定する必要があります。 その他 のSERVICE_INFO メンバーは無視されます。 |
|
名前空間から、SERVICE_ADD_TYPE操作を指定する前の呼び出しによって追加されたサービスの種類を削除します。 |
[in] dwFlags
関数の操作を変更するビット フラグのセット。 次のビット フラグの 1 つ以上を設定できます。
[in] lpServiceInfo
ネットワーク サービスまたはサービスの種類に関する情報を含む SERVICE_INFO 構造体へのポインター。
[in, optional] lpServiceAsyncInfo
将来利用するために予約されています。 NULL に設定する必要があります。
[out] lpdwStatusFlags
関数の状態情報を受け取るビット フラグのセット。 次のビット フラグが定義されています。
値 | 意味 |
---|---|
|
1 つ以上の名前空間プロバイダーが、要求された操作を正常に実行できませんでした。 |
戻り値
関数が失敗した場合、戻り値はSOCKET_ERROR。 詳細なエラー情報を得るには、GetLastError を呼び出します。 GetLastError は 、次の拡張エラー値を返すことができます。
エラー コード | 意味 |
---|---|
|
関数は、既に登録されているサービスを登録しようとしました。 |
注釈
注意
nspapi.h ヘッダーは、SetService をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | nspapi.h |
Library | Mswsock.lib |
[DLL] | Mswsock.dll |