Metodo ICertAdmin::SetRequestAttributes (certadm.h)
Il metodo SetRequestAttributes imposta gli attributi nella richiesta di certificato in sospeso specificata. Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .
Affinché questo metodo abbia esito positivo, la richiesta di certificato deve essere in sospeso.
Sintassi
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
Parametri
[in] strConfig
Rappresenta una stringa di configurazione valida per il server dell'autorità di certificazione (CA) nel formato NOMECOMPUTER\CANAME, dove COMPUTERNAME è il nome di rete del server Servizi certificati e CANAME è il nome comune dell'autorità di certificazione, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.
[in] RequestId
Specifica l'ID della richiesta che riceve gli attributi.
[in] strAttributes
Specifica i dati dell'attributo. Ogni attributo è una coppia di stringhe nome-valore. Il carattere due punti separa il nome e il valore e un carattere di nuova riga separa più coppie nome-valore, ad esempio:
C++ | AttributeName1:AttributeValue1\nAttributeName2:AttributeValue2 |
VB | AttributeName1:AttributeValue1 & vbNewLine & AttributeName2:AttributeValue2 |
Quando Servizi certificati analizza i nomi degli attributi, ignora spazi, trattini (segni meno) e maiuscole/minuscole. Ad esempio, AttributeName1, Attribute Name1 e Attribute-name1 sono tutti equivalenti. Per i valori degli attributi, Servizi certificati ignora gli spazi vuoti iniziali e finali.
Valore restituito
VB
Se il metodo ha esito positivo, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Commenti
Gli attributi aggiunti o aggiornati chiamando SetRequestAttributes non modificano la stringa di attributo iniziale non analizzata associata alla richiesta di certificato. La stringa dell'attributo non analizzato della richiesta di certificato non è modificabile dopo la richiesta del certificato (il metodo ICertRequest::Submit consente di specificare gli attributi al momento della richiesta del certificato).
È possibile usare lo snap-in MMC Autorità di certificazione per visualizzare la stringa iniziale dell'attributo di richiesta non analizzata.
Quando si visualizzano gli attributi analizzati, verranno visualizzate anche eventuali modifiche dovute alle chiamate a SetRequestAttributes.
Per visualizzare gli attributi analizzati
- Aprire lo snap-in MMC Autorità di certificazione.
- Aprire la cartella Richieste in sospeso .
- Fare clic con il pulsante destro del mouse su una richiesta, scegliere Tutte le attività e quindi fare clic su Visualizza attributi/estensioni.
Le attività di amministrazione usano DCOM. Il codice che chiama questo metodo di interfaccia come definito in una versione precedente di Certadm.h verrà eseguito su server basati su Windows, purché il client e il server eseguano entrambi lo stesso sistema operativo Windows.
Esempio
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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certadm.h (include Certsrv.h) |
Libreria | Certidl.lib |
DLL | Certadm.dll |