Método ICertAdmin::D enyRequest (certadm.h)
O método DenyRequest nega uma solicitação de certificado especificada pendente. Esse método foi definido pela primeira vez na interface ICertAdmin .
Para que esse método seja bem-sucedido, a solicitação de certificado deve estar pendente.
Sintaxe
HRESULT DenyRequest(
[in] const BSTR strConfig,
[in] LONG RequestId
);
Parâmetros
[in] strConfig
Representa uma cadeia de caracteres de configuração válida para a AC (autoridade de certificação ) no formato COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor de Serviços de Certificados e CANAME é o nome comum da autoridade de certificação, conforme inserido durante a instalação dos Serviços de Certificados. Para obter informações sobre a cadeia de caracteres de configuração, consulte ICertConfig.
[in] RequestId
Especifica a ID da solicitação pendente a ser negada.
Retornar valor
Nenhum
Comentários
As tarefas de administração usam o DCOM. O código que chama esse método de interface conforme definido em uma versão anterior do Certadm.h será executado em servidores baseados no Windows, desde que o cliente e o servidor estejam executando o mesmo sistema operacional Windows.
Exemplos
O exemplo a seguir declara as variáveis necessárias, inicializa COM e cria uma instância da classe CertAdmin. Em seguida, ele chama DenyRequest e imprime êxito ou falha na tela. Por fim, ele libera recursos.
// 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();
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certadm.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certadm.dll |
Confira também
ICertAdmin2