SetServiceBits 関数 (lmserver.h)

サービスの種類をサービス コントロール マネージャーとサーバー サービスに登録します。 その後、サーバー サービスは、登録済みサービスの種類を現在サポートしているサービスの種類として読み上げることができます。 NetServerGetInfo 関数と NetServerEnum 関数は、指定されたマシンでサポートされているサービスの種類を取得します。

構文

BOOL NET_API_FUNCTION SetServiceBits(
  [in] SERVICE_STATUS_HANDLE hServiceStatus,
  [in] DWORD                 dwServiceBits,
  [in] BOOL                  bSetBitsOn,
  [in] BOOL                  bUpdateImmediately
);

パラメーター

[in] hServiceStatus

サービスの状態情報構造へのハンドル。 サービスは、 RegisterServiceCtrlHandlerEx 関数を呼び出してハンドルを取得します。

[in] dwServiceBits

サービスの型。

特定のビット フラグ (0xC00F3F7B) は、Microsoft が使用するために予約されています。 これらのビット フラグのいずれかが dwServiceBits に設定されている場合、SetServiceBits 関数はエラー ERROR_INVALID_DATAで失敗します。 次のビット フラグは、Microsoft が使用するために予約されています。

SV_TYPE_WORKSTATION (0x00000001)

SV_TYPE_SERVER (0x00000002)

SV_TYPE_DOMAIN_CTRL (0x00000008)

SV_TYPE_DOMAIN_BAKCTRL (0x00000010)

SV_TYPE_TIME_SOURCE (0x00000020)

SV_TYPE_AFP (0x00000040)

SV_TYPE_DOMAIN_MEMBER (0x00000100)

SV_TYPE_PRINTQ_SERVER (0x00000200)

SV_TYPE_DIALIN_SERVER (0x00000400)

SV_TYPE_XENIX_SERVER (0x00000800)

SV_TYPE_SERVER_UNIX (0x00000800)

SV_TYPE_NT (0x00001000)

SV_TYPE_WFW (0x00002000)

SV_TYPE_POTENTIAL_BROWSER (0x00010000)

SV_TYPE_BACKUP_BROWSER (0x00020000)

SV_TYPE_MASTER_BROWSER (0x00040000)

SV_TYPE_DOMAIN_MASTER (0x00080000)

SV_TYPE_LOCAL_LIST_ONLY (0x40000000)

SV_TYPE_DOMAIN_ENUM (0x80000000)

特定のビット フラグ (0x00300084) は Microsoft によって定義されますが、システム ソフトウェア用に特別に予約されていません。 これらのビット フラグを次に示します。

SV_TYPE_SV_TYPE_SQLSERVER (0x00000004)

SV_TYPE_NOVELL (0x00000080)

SV_TYPE_DOMAIN_CTRL (0x00100000)

SV_TYPE_DOMAIN_BAKCTRL (0x00200000)

特定のビット フラグ (0x3FC0C000) は Microsoft によって定義されておらず、使用は Microsoft によって調整されません。 これらのビットを使用するアプリケーションの開発者は、他のアプリケーションでもそれらを使用できるため、競合が発生することに注意する必要があります。 これらのビット フラグを次に示します。

0x00004000

0x00008000

0x00400000

0x00800000

0x01000000

0x02000000

0x04000000

0x08000000

0x10000000

0x20000000

[in] bSetBitsOn

この値が TRUE の場合、 dwServiceBit のビットが設定されます。 この値が FALSE の場合、ビットはクリアされます。

[in] bUpdateImmediately

この値が TRUE の場合、サーバー サービスは即時更新を実行します。 この値が FALSE の場合、更新はすぐには実行されません。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー lmserver.h
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

NetServerEnum

NetServerGetInfo

RegisterServiceCtrlHandlerEx

サービス関数

SetServiceStatus