SetServiceA 関数 (nspapi.h)
SetService 関数は、1 つ以上の名前空間内のネットワーク サービスをレジストリに登録または削除します。 この関数は、1 つ以上の名前空間内のネットワーク サービスの種類を追加または削除することもできます。
注SetService 関数は廃止されています。
Protocol-Independent 名前解決 で詳しく説明されている関数は、Windows ソケット 2 で同等の機能を提供します。 Windows Sockets 1.1 開発者の便宜上、参考資料は次のとおりです。
構文
INT SetServiceA(
[in] DWORD dwNameSpace,
[in] DWORD dwOperation,
[in] DWORD dwFlags,
[in] LPSERVICE_INFOA lpServiceInfo,
[in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
[out] LPDWORD lpdwStatusFlags
);
パラメーター
[in] dwNameSpace
名前空間、または関数が動作する既定の名前空間のセット。
名前空間を指定するには、次のいずれかの定数を使用します。
価値 |
意味 |
-
NS_DEFAULT
|
既定の名前空間のセット。 この関数は、このセット内の各名前空間に対してクエリを実行します。 既定の名前空間のセットには、通常、システムにインストールされているすべての名前空間が含まれます。 ただし、システム管理者は、セットから特定の名前空間を除外できます。 NS_DEFAULTは、ほとんどのアプリケーションが dwNameSpace使用する必要がある値です。
|
-
NS_DNS
|
ホストの名前を解決するためにインターネットで使用されるドメイン ネーム システム。
|
-
NS_NDS
|
NetWare 4 プロバイダー。
|
-
NS_NETBT
|
NETBIOS over TCP/IP レイヤー。 すべての Windows システムは、コンピューター名を NetBIOS に登録します。 この名前空間は、コンピューター名を、この登録を使用する IP アドレスに変換するために使用されます。
|
-
NS_SAP
|
NetWare サービス アドバタイズ プロトコル。 これにより、必要に応じて NetWare バインダーにアクセスできます。 NS_SAPは、サービスの登録を可能にする動的名前空間です。
|
-
NS_TCPIP_HOSTS
|
\system32\drivers\etc\posts ファイル><systemroot の参照値。
|
-
NS_TCPIP_LOCAL
|
ローカル TCP/IP 名前解決メカニズム。ホストと IP アドレスのマッピングに対するローカル ホスト名とキャッシュ内の参照値との比較が含まれます。
|
[in] dwOperation
関数が実行する操作。 操作を指定するには、次のいずれかの値を使用します。
価値 |
意味 |
-
SERVICE_REGISTER
|
ネットワーク サービスを名前空間に登録します。 この操作は、SERVICE_FLAG_DEFERおよびSERVICE_FLAG_HARDビット フラグと共に使用できます。
|
-
SERVICE_DEREGISTER
|
名前空間からネットワーク サービスをレジストリから削除します。 この操作は、SERVICE_FLAG_DEFERおよびSERVICE_FLAG_HARDビット フラグと共に使用できます。
|
-
SERVICE_FLUSH
|
SERVICE_FLAG_DEFER ビット フラグを 1 に設定して呼び出された操作を実行します。
|
-
SERVICE_ADD_TYPE
|
名前空間にサービスの種類を追加します。
この操作では、lpServiceInfo が指す SERVICE_INFO 構造体の ServiceSpecificInfo メンバー 使用して、SERVICE_TYPE_INFO_ABS 構造体を渡します。
SERVICE_INFO 構造体の ServiceType メンバーも設定する必要があります。 他の SERVICE_INFO メンバーは無視されます。
|
-
SERVICE_DELETE_TYPE
|
SERVICE_ADD_TYPE操作を指定する前の呼び出しによって追加されたサービスの種類を名前空間から削除します。
|
[in] dwFlags
関数の操作を変更するビット フラグのセット。 次のビット フラグを 1 つ以上設定できます。
価値 |
意味 |
-
SERVICE_FLAG_DEFER
|
このビット フラグは、操作がSERVICE_REGISTERまたはSERVICE_DEREGISTER場合にのみ有効です。
このビット フラグが 1 で有効な場合、名前空間プロバイダーは、SERVICE_FLUSH操作が要求されるまで登録または登録解除操作を延期する必要があります。
|
-
SERVICE_FLAG_HARD
|
このビット フラグは、操作がSERVICE_REGISTERまたはSERVICE_DEREGISTER場合にのみ有効です。
このビット フラグが 1 で有効な場合、名前空間プロバイダーは、操作の実行時に関連する永続的なストア情報を更新します。
たとえば、永続的ストアを使用する名前空間で操作の登録解除が必要な場合、名前空間プロバイダーは関連する永続的なストア情報を削除します。
|
[in] lpServiceInfo
ネットワーク サービスまたはサービスの種類に関する情報を含む SERVICE_INFO 構造体へのポインター。
[in, optional] lpServiceAsyncInfo
将来の使用のために予約されています。 NULLを に設定する必要があります。
[out] lpdwStatusFlags
関数の状態情報を受け取るビット フラグのセット。 次のビット フラグが定義されています。
価値 |
意味 |
-
SET_SERVICE_ PARTIAL_SUCCESS
|
1 つ以上の名前空間プロバイダーが、要求された操作を正常に実行できませんでした。
|
戻り値
関数が失敗した場合、戻り値はSOCKET_ERROR。 拡張エラー情報を取得するには、GetLastError呼び出します。 GetLastError は、次の拡張エラー値を返すことができます。
エラー コード |
意味 |
- 登録済み を ERROR_ALREADY_ する
|
この関数は、既に登録されているサービスを登録しようとしました。
|
手記
nspapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetService を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 |
価値 |
サポートされる最小クライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー |
nspapi.h |
ライブラリ |
Mswsock.lib |
DLL |
Mswsock.dll |
関連項目
GetService の
SERVICE_INFO
SERVICE_TYPE_INFO_ABS
Winsock Functions
Winsock リファレンス