Condividi tramite


Metodo ICertAdmin::D enyRequest (certadm.h)

Il metodo DenyRequest nega una richiesta di certificato specificata in sospeso. Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .

Affinché questo metodo abbia esito positivo, la richiesta di certificato deve essere in sospeso.

Sintassi

HRESULT DenyRequest(
  [in] const BSTR strConfig,
  [in] LONG       RequestId
);

Parametri

[in] strConfig

Rappresenta una stringa di configurazione valida per l'autorità di certificazione (CA) nel formato COMPUTERNAME\CANAME dove COMPUTERNAME è il nome di rete del server Servizi certificati e CANAME è il nome comune dell'autorità di certificazione immessa durante l'installazione di Servizi certificati. Per informazioni sulla stringa di configurazione, vedere ICertConfig.

ImportanteDenyRequest non cancella la cache interna quando viene modificata la stringa di configurazione. Quando si modifica la stringa di configurazione per la CA, è necessario creare un'istanza di un nuovo oggetto ICertAdmin e chiamare di nuovo questo metodo con la nuova stringa di configurazione.
 

[in] RequestId

Specifica l'ID della richiesta in sospeso da negare.

Valore restituito

nessuno

Osservazioni

Le attività di amministrazione usano DCOM. Il codice che chiama questo metodo di interfaccia come definito in una versione precedente di Certadm.h verrà eseguito su server basati su Windows, purché il client e il server eseguano entrambi lo stesso sistema operativo Windows.

Esempio

Nell'esempio seguente vengono dichiarate le variabili necessarie, inizializza COM e viene creata un'istanza della classe CertAdmin. Chiama quindi DenyRequest e stampa l'esito positivo o negativo sullo schermo. Infine, libera le risorse.

//  Pointer to an interface object.
ICertAdmin * pCertAdmin = NULL;

    BSTR       bstrCA = NULL;  // variable for machine\CAName
    long       nReqID;         // variable for Request ID
    HRESULT    hr;

    //  Initialize COM.
    hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
    if (FAILED(hr))
    {
        printf("Failed CoInitializeEx [%x]\n", hr);
        goto error;
    }

    //  Create the CertAdmin object
    //  and get a pointer to its ICertAdmin interface.
    hr = CoCreateInstance( CLSID_CCertAdmin,
                           NULL,
                           CLSCTX_INPROC_SERVER,
                           IID_ICertAdmin,
                           (void **)&pCertAdmin);
    if (FAILED(hr))
    {
        printf("Failed CoCreateInstance pCertAdmin [%x]\n", hr);
        goto error;
    }

    //  Note the use of two '\' in C++ to produce one '\'.
    bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
    if (NULL == bstrCA)
    {
        printf("Failed to allocate memory for bstrCA\n");
        goto error;
    }

    //  nReqID is RequestID to be denied.
    nReqID = <REQUESTIDHERE>;

    //  Deny the request.
    hr = pCertAdmin->DenyRequest( bstrCA, nReqID );
    if (FAILED(hr))
    {
        printf("Failed DenyRequest %ws %d [%x]\n",
               bstrCA, nReqID, hr);
        goto error;
    }
    else
        printf("Denied request %ws %d\n",
                bstrCA, nReqID );

    //  Done processing.

    
error:

    //  Free BSTR values.
    if (NULL != bstrCA)
        SysFreeString(bstrCA);

    //  Clean up object resources.
    if (NULL != pCertAdmin)
        pCertAdmin->Release();

    //  Free COM resources.
    CoUninitialize(); 

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certadm.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certadm.dll

Vedi anche

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig