Fonction CertSrvServerControlW (certbcli.h)

La fonction CertSrvServerControl émet une commande de contrôle de service pour arrêter programmatiquement les services de certificats.

Syntaxe

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

Paramètres

[in] pwszServerName

Pointeur vers un nom ou une chaîne de configuration du serveur à émettre la commande de contrôle.

[in] dwControlFlags

Valeur représentant la commande de contrôle en cours d’émission sur le serveur des services de certificats spécifié par pwszServerName. La valeur suivante est prise en charge pour dwControlFlags.

Valeur Signification
CSCONTROL_SHUTDOWN
Arrêtez Les services de certificats.

[out] pcbOut

Pour une utilisation ultérieure, ce paramètre sera le nombre d’octets alloués à ppbOut. L’implémentation actuelle n’alloue pas de mémoire à ppbOut. Vous pouvez définir cette valeur sur NULL.

[out] ppbOut

Pour une utilisation ultérieure, ce paramètre sera le pointeur vers le pointeur vers des octets représentant la sortie de la commande émise. L’implémentation actuelle n’alloue pas de mémoire à ppbOut. Vous pouvez définir cette valeur sur NULL.

Valeur retournée

La valeur de retour est HRESULT. Une valeur de S_OK indique la réussite.

Remarques

L’objectif de cette fonction est de permettre à une application de sauvegarde ou de restauration d’arrêter par programmation l’application Des services de certificats (ne nécessitant donc pas l’utilisation des API du contrôleur de service). L’arrêt des services de certificats de cette manière fonctionne également lorsque les services de certificat s’exécutent en mode console ; les API du contrôleur de service ne peuvent pas contrôler les applications s’exécutant en mode console.

Le nom de cette fonction dans Certadm.dll est CertSrvServerControlW. Vous devez utiliser cette forme du nom lors de l’appel de GetProcAddress. En outre, cette fonction est définie comme type FNCERTSRVSERVERCONTROLW dans le fichier d’en-tête Certbcli.h.

Exemples

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certbcli.h (include Certsrv.h)
Bibliothèque Certadm.lib
DLL Certadm.dll

Voir aussi

Utilisation des fonctions de sauvegarde et de restauration des services de certificat