次の方法で共有


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 リファレンス