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.
[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
ICertAdmin2