CertSrvServerControlW 関数 (certbcli.h)
CertSrvServerControl 関数は、証明書サービスをプログラムで停止するサービス制御コマンドを発行します。
構文
HRESULT CERTBCLI_API CertSrvServerControlW(
[in] WCHAR const *pwszServerName,
[in] DWORD dwControlFlags,
[out] DWORD *pcbOut,
[out] BYTE **ppbOut
);
パラメーター
[in] pwszServerName
制御コマンドを発行するサーバーの名前または構成文字列へのポインター。
[in] dwControlFlags
pwszServerName で指定された Certificate Services サーバーに発行される制御コマンドを表す値。 dwControlFlags では、次の値がサポートされています。
値 | 意味 |
---|---|
|
証明書サービスを停止します。 |
[out] pcbOut
今後使用するために、このパラメーターは ppbOut に割り当てられたバイト数になります。 現在の実装では、 メモリは ppbOut に割り当てられません。 この値は NULL に設定できます。
[out] ppbOut
今後の使用のために、このパラメーターは、発行されたコマンドからの出力を表すバイトへのポインターへのポインターになります。 現在の実装では、 メモリは ppbOut に割り当てられません。 この値は NULL に設定できます。
戻り値
戻り値は HRESULT です。 値 S_OK は成功を示します。
注釈
この関数の目的は、バックアップまたは復元アプリケーションが証明書サービス アプリケーションをプログラムで停止できるようにすることです (これにより、サービス コントローラー API を使用する必要はありません)。 この方法で証明書サービスを停止すると、証明書サービスがコンソール モードで実行されている場合にも機能します。サービス コントローラー API は、コンソール モードで実行されているアプリケーションを制御できません。
Certadm.dll のこの関数の名前は CertSrvServerControlW です。 GetProcAddress を呼び出すときは、この形式の名前を使用する必要があります。 また、この関数は Certbcli.h ヘッダー ファイルで FNCERTSRVSERVERCONTROLW 型として定義されます。
例
FNCERTSRVSERVERCONTROLW* pfnControl;
char * szControlFunc = "CertSrvServerControlW";
HRESULT hr=0;
// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnControl = (FNCERTSRVSERVERCONTROLW*)GetProcAddress(hInst,
szControlFunc);
if ( NULL == pfnControl )
{
printf("Failed GetProcAddress - %s, error=%d\n",
szControlFunc,
GetLastError() );
exit(1); // Or other appropriate error action.
}
// Issue a command to stop the service.
hr = pfnControl( L"MyCertServMachine",
CSCONTROL_SHUTDOWN,
NULL,
NULL);
if ( FAILED( hr ) )
{
printf("Failed pfnControl call [%x]\n", hr);
exit(1); // Or other appropriate error action.
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certbcli.h (Certsrv.h を含む) |
Library | Certadm.lib |
[DLL] | Certadm.dll |