Metode ICertAdmin::D enyRequest (certadm.h)

Metode DenyRequest menolak permintaan sertifikat tertentu yang tertunda. Metode ini pertama kali didefinisikan dalam antarmuka ICertAdmin .

Agar metode ini berhasil, permintaan sertifikat harus tertunda.

Sintaks

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

Parameter

[in] strConfig

Mewakili string konfigurasi yang valid untuk otoritas sertifikasi (CA) dalam bentuk COMPUTERNAME\CANAME di mana COMPUTERNAME adalah nama jaringan server Layanan Sertifikat dan CANAME adalah nama umum otoritas sertifikasi seperti yang dimasukkan selama penyiapan Layanan Sertifikat. Untuk informasi tentang string konfigurasi, lihat ICertConfig.

DenyRequestpenting tidak menghapus cache internal saat string konfigurasi diubah. Saat Anda mengubah string konfigurasi untuk CA, Anda harus membuat instans objek ICertAdmin baru dan memanggil metode ini lagi dengan string konfigurasi baru.
 

[in] RequestId

Menentukan ID permintaan yang tertunda untuk ditolak.

Nilai kembali

Tidak ada

Keterangan

Tugas administrasi menggunakan DCOM. Kode yang memanggil metode antarmuka ini seperti yang didefinisikan dalam versi Certadm.h sebelumnya akan berjalan pada server berbasis Windows selama klien dan server keduanya menjalankan sistem operasi Windows yang sama.

Contoh

Contoh berikut mendeklarasikan variabel yang diperlukan, menginisialisasi COM, dan membuat instans kelas CertAdmin. Kemudian memanggil DenyRequest dan mencetak keberhasilan atau kegagalan ke layar. Akhirnya, ini membebaskan sumber daya.

//  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(); 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header certadm.h (termasuk Certsrv.h)
Pustaka Certidl.lib
DLL Certadm.dll

Lihat juga

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig