Metodo ICertAdmin::GetCRL (certadm.h)
Il metodo GetCRL recupera l'elenco di revoche di certificati (CRL) corrente per l'autorità di certificazione (CA) di Servizi certificati. Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .
Sintassi
HRESULT GetCRL(
[in] const BSTR strConfig,
[in] LONG Flags,
[out] BSTR *pstrCRL
);
Parametri
[in] strConfig
Rappresenta una stringa di configurazione valida per la CA di cui si desidera recuperare il CRL. Questa stringa è nel formato COMPUTERNAME\CANAME, dove COMPUTERNAME è il nome di rete del server Servizi certificati e CANAME è il nome comune della CA, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.
[in] Flags
Specifica il formato del CRL restituito. Questo parametro può essere uno dei flag seguenti.
Valore | Significato |
---|---|
|
Formato BASE64 con inizio/fine. |
|
Formato BASE64 senza inizio/fine. |
|
Formato binario. |
[out] pstrCRL
Puntatore a un BSTR che riceve l'elenco CRL.
Quando si usa questo metodo, creare una variabile di tipo BSTR , impostare la variabile su NULL e passare l'indirizzo di questa variabile nel parametro pbstrCRL . Al termine dell'uso della variabile BSTR , liberarlo chiamando la funzione SysFreeString .
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce S_OK.
Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Codice restituito | Descrizione |
---|---|
|
Il parametro strConfig non può essere NULL o non è stato trovato alcun CRL. |
Commenti
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 GetCRL e stampa l'esito positivo o negativo sullo schermo. Infine, libera le risorse.
ICertAdmin * pCertAdmin = NULL; // pointer to interface object
BSTR bstrCA = NULL; // variable for machine\CAName
BSTR bstrCRL = NULL; // variable to contain
// the retrieved CRL
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 backslashes (\\)
// in C++ to produce one backslash (\).
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (FAILED(hr))
{
printf("Failed to allocate memory for bstrCA\n");
goto error;
}
// Retrieve the CRL.
hr = pCertAdmin->GetCRL( bstrCA, CR_OUT_BINARY, &bstrCRL );
if (FAILED(hr))
{
printf("Failed GetCRL [%x]\n", hr);
goto error;
}
else
printf("CRL retrieved successfully\n");
// Use the CRL as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrCRL)
SysFreeString(bstrCRL);
// 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
ICertAdmin2