Freigeben über


CertSrvServerControlW-Funktion (certbcli.h)

Die CertSrvServerControl-Funktion gibt einen Dienststeuerungsbefehl aus, um Zertifikatdienste programmgesteuert zu beenden.

Syntax

HRESULT CERTBCLI_API CertSrvServerControlW(
  [in]  WCHAR const *pwszServerName,
  [in]  DWORD       dwControlFlags,
  [out] DWORD       *pcbOut,
  [out] BYTE        **ppbOut
);

Parameter

[in] pwszServerName

Ein Zeiger auf einen Namen oder eine Konfigurationszeichenfolge des Servers, der der Steuerungsbefehl ausgegeben werden soll.

[in] dwControlFlags

Wert, der den Steuerelementbefehl darstellt, der für den durch pwszServerName angegebenen Zertifikatdiensteserver ausgegeben wird. Der folgende Wert wird für dwControlFlags unterstützt.

Wert Bedeutung
CSCONTROL_SHUTDOWN
Beenden Sie die Zertifikatdienste.

[out] pcbOut

Für die zukünftige Verwendung ist dieser Parameter die Anzahl der Bytes, die ppbOut zugeordnet sind. Die aktuelle Implementierung weist ppbOut keinen Arbeitsspeicher zu. Sie können diesen Wert auf NULL festlegen.

[out] ppbOut

Für die zukünftige Verwendung ist dieser Parameter der Zeiger auf Bytes, die die Ausgabe des ausgestellten Befehls darstellen. Die aktuelle Implementierung weist ppbOut keinen Arbeitsspeicher zu. Sie können diesen Wert auf NULL festlegen.

Rückgabewert

Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt den Erfolg an.

Hinweise

Der Zweck dieser Funktion besteht darin, einer Sicherungs- oder Wiederherstellungsanwendung das programmgesteuerte Beenden der Zertifikatdiensteanwendung zu ermöglichen (wodurch keine Verwendung der Dienstcontroller-APIs erforderlich ist). Das Beenden von Zertifikatdiensten auf diese Weise funktioniert auch, wenn Zertifikatdienste im Konsolenmodus ausgeführt werden. Die Dienstcontroller-APIs können anwendungen, die im Konsolenmodus ausgeführt werden, nicht steuern.

Der Name dieser Funktion in Certadm.dll lautet CertSrvServerControlW. Sie müssen diese Form des Namens verwenden, wenn Sie GetProcAddress aufrufen. Außerdem ist diese Funktion in der Headerdatei Certbcli.h als Typ FNCERTSRVSERVERCONTROLW definiert.

Beispiele

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.
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certbcli.h (certsrv.h einschließen)
Bibliothek Certadm.lib
DLL Certadm.dll

Weitere Informationen

Verwenden der Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste