ICertAdmin::SetRequestAttributes-Methode (certadm.h)
Die SetRequestAttributes-Methode legt Attribute in der angegebenen ausstehenden Zertifikatanforderung fest. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.
Damit diese Methode erfolgreich ist, muss die Zertifikatanforderung ausstehend sein.
Syntax
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
Parameter
[in] strConfig
Stellt eine gültige Konfigurationszeichenfolge für den Zertifizierungsstellenserver im Format COMPUTERNAME\CANAME dar, wobei COMPUTERNAME der Netzwerkname des Zertifikatdiensteservers und CANAME der allgemeine Name der Zertifizierungsstelle ist, wie er während der Einrichtung der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.
[in] RequestId
Gibt die ID der Anforderung an, die die Attribute empfängt.
[in] strAttributes
Gibt die Attributdaten an. Jedes Attribut ist ein Name-Wert-Zeichenfolgenpaar. Das Doppelpunktzeichen trennt den Namen und den Wert, und ein Zeilenumbruchzeichen trennt mehrere Name-Wert-Paare, z. B.:
C++ | AttributeName1:AttributeValue1\nAttributeName2:AttributeValue2 |
VB | AttributeName1:AttributeValue1 & vbNewLine & AttributeName2:AttributeValue2 |
Wenn Zertifikatdienste Attributnamen analysieren, werden Leerzeichen, Bindestriche (Minuszeichen) und Groß-/Kleinschreibung ignoriert. Attributname1, Attributname1 und Attributname1 sind z. B. gleichwertig. Für Attributwerte ignoriert Certificate Services führende und nachfolgende Leerzeichen.
Rückgabewert
VB
Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Hinweise
Attribute , die durch Aufrufen von SetRequestAttributes hinzugefügt oder aktualisiert werden, ändern nicht die anfängliche, nicht analysierte Attributzeichenfolge, die der Zertifikatanforderung zugeordnet ist. Die nicht analysierte Attributzeichenfolge der Zertifikatanforderung ist nach der Anforderung des Zertifikats nicht mehr änderbar (die ICertRequest::Submit-Methode ermöglicht die Angabe von Attributen zum Zeitpunkt der Zertifikatanforderung).
Sie können das MMC-Snap-In zertifizierungsstellen verwenden, um die anfängliche, nicht analysierte Anforderungsattributzeichenfolge anzuzeigen.
Wenn Sie die analysierten Attribute anzeigen, werden auch alle Änderungen angezeigt, die auf Aufrufe von SetRequestAttributes zurückzuführen sind.
So zeigen Sie die analysierten Attribute an
- Öffnen Sie das MMC-Snap-In Zertifizierungsstelle.
- Öffnen Sie den Ordner Ausstehende Anforderungen .
- Klicken Sie mit der rechten Maustaste auf eine Anforderung, zeigen Sie auf Alle Aufgaben, und klicken Sie dann auf Attribute/Erweiterungen anzeigen.
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
BSTR bstrAttribs = NULL;
BSTR bstrCA = NULL;
long nReqID; // request ID
// Specify the attributes.
// For example, "AttName1:AttValue1\nAttName2:AttValue2".
bstrAttribs = SysAllocString(L"<ATTRIBUTESHERE>");
if (NULL == bstrAttribs)
{
printf("Memory allocation failed for bstrAttribs.\n");
goto error;
}
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Memory allocation failed for bstrCA.\n");
goto error;
}
// Request ID to receive the attributes.
nReqID = <REQUESTIDHERE>;
// Add these attributes to the certificate.
// pCertAdmin is a previously instantiated
// ICertAdmin object pointer.
hr = pCertAdmin->SetRequestAttributes( bstrCA,
nReqID,
bstrAttribs );
if (FAILED(hr))
printf("Failed SetRequestAttributes [%x]\n", hr);
else
printf("SetRequestAttributes succeeded\n");
// Done processing.
error:
if (bstrAttribs)
SysFreeString(bstrAttribs);
if (bstrCA)
SysFreeString(bstrCA);
// Free other resources.
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 |