ICertAdmin::GetCRL-Methode (certadm.h)
Die GetCRL-Methode ruft die aktuelle Zertifikatsperrliste (Certificate Revocation List , CRL) für die Zertifizierungsstelle (Certificate Services Certification Authority, CA) ab. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.
Syntax
HRESULT GetCRL(
[in] const BSTR strConfig,
[in] LONG Flags,
[out] BSTR *pstrCRL
);
Parameter
[in] strConfig
Stellt eine gültige Konfigurationszeichenfolge für die Zertifizierungsstelle dar, deren Zertifikatsperrliste Sie abrufen möchten. Diese Zeichenfolge hat das Format COMPUTERNAME\CANAME, wobei COMPUTERNAME der Netzwerkname des Zertifikatdiensteservers und CANAME der allgemeine Name der Zertifizierungsstelle ist, wie er während des Setups der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.
[in] Flags
Gibt das Format der zurückgegebenen Zertifikatsperrliste an. Dieser Parameter kann eines der folgenden Flags sein.
Wert | Bedeutung |
---|---|
|
BASE64-Format mit Anfang/Ende. |
|
BASE64-Format ohne Anfang/Ende. |
|
Binärformat. |
[out] pstrCRL
Ein Zeiger auf einen BSTR , der die Zertifikatsperrliste empfängt.
Erstellen Sie bei Verwendung dieser Methode eine Variable vom Typ BSTR , legen Sie die Variable auf NULL fest, und übergeben Sie die Adresse dieser Variablen im pbstrCRL-Parameter . Wenn Sie die Verwendung der BSTR-Variablen abgeschlossen haben, geben Sie sie frei, indem Sie die SysFreeString-Funktion aufrufen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.
Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Rückgabecode | Beschreibung |
---|---|
|
Der strConfig-Parameter kann nicht NULL sein, oder es wurde keine CRL gefunden. |
Hinweise
Verwaltungsaufgaben verwenden DCOM. Code, der diese Schnittstellenmethode aufruft, wie in einer früheren Version von Certadm.h definiert, wird auf Windows-basierten Servern ausgeführt, solange der Client und der Server dasselbe Windows-Betriebssystem ausführen.
Beispiele
Im folgenden Beispiel werden die erforderlichen Variablen deklariert, COM initialisiert und eine instance der CertAdmin-Klasse erstellt. Anschließend wird GetCRL aufgerufen und ein Erfolg oder Fehler auf dem Bildschirm ausgegeben. Schließlich werden Ressourcen freigegeben.
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();
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certadm.h (include Certsrv.h) |
Bibliothek | Certidl.lib |
DLL | Certadm.dll |
Weitere Informationen
ICertAdmin2