Метод ICertAdmin::D enyRequest (certadm.h)
Метод DenyRequest отклоняет указанный запрос на сертификат , ожидающий выполнения. Этот метод был впервые определен в интерфейсе ICertAdmin .
Для успешного выполнения этого метода запрос сертификата должен находиться в ожидании.
Синтаксис
HRESULT DenyRequest(
[in] const BSTR strConfig,
[in] LONG RequestId
);
Параметры
[in] strConfig
Представляет допустимую строку конфигурации для центра сертификации (ЦС) в формате COMPUTERNAME\CANAME, где COMPUTERNAME — сетевое имя сервера служб сертификации, а CANAME — общее имя центра сертификации, указанное при настройке служб сертификации. Дополнительные сведения о строке конфигурации см. в разделе ICertConfig.
[in] RequestId
Указывает идентификатор ожидающего запроса, который будет отклонен.
Возвращаемое значение
None
Remarks
В задачах администрирования используется DCOM. Код, вызывающий этот метод интерфейса, как определено в более ранней версии Certadm.h, будет выполняться на серверах под управлением Windows, если клиент и сервер работают под одной операционной системой Windows.
Примеры
В следующем примере объявляются необходимые переменные, инициализируется COM и создается экземпляр класса CertAdmin. Затем он вызывает DenyRequest и выводит на экран сообщение об успешном или неудачном выполнении. Наконец, он освобождает ресурсы.
// 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();
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certadm.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certadm.dll |
См. также раздел
ICertAdmin2