Método ICertAdmin::SetRequestAttributes (certadm.h)
El método SetRequestAttributes establece atributos en la solicitud de certificado pendiente especificada. Este método se definió por primera vez en la interfaz ICertAdmin .
Para que este método se realice correctamente, la solicitud de certificado debe estar pendiente.
Sintaxis
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
Parámetros
[in] strConfig
Representa una cadena de configuración válida para el servidor de entidad de certificación (CA) con el formato COMPUTERNAME\CANAME, donde COMPUTERNAME es el nombre de red del servidor de Servicios de certificados y CANAME es el nombre común de la entidad de certificación, tal como se especifica durante la configuración de Servicios de certificados. Para obtener información sobre el nombre de la cadena de configuración, vea ICertConfig.
[in] RequestId
Especifica el identificador de la solicitud que recibe los atributos.
[in] strAttributes
Especifica los datos de atributo. Cada atributo es un par de cadenas de nombre-valor. El carácter de dos puntos separa el nombre y el valor, y un carácter de nueva línea separa varios pares nombre-valor, por ejemplo:
C++ | AttributeName1:AttributeValue1\nAttributeName2:AttributeValue2 |
VB | AttributeName1:AttributeValue1 & vbNewLine & AttributeName2:AttributeValue2 |
Cuando Servicios de certificados analiza los nombres de atributo, omite espacios, guiones (signos menos) y mayúsculas de minúsculas. Por ejemplo, AttributeName1, Attribute Name1 y Attribute-name1 son equivalentes. En el caso de los valores de atributo, Certificate Services omite el espacio en blanco inicial y final.
Valor devuelto
VB
Si el método se realiza correctamente, el método devuelve S_OK.Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
Comentarios
Los atributos agregados o actualizados mediante una llamada a SetRequestAttributes no modifican la cadena de atributo inicial sin revisar asociada a la solicitud de certificado. La cadena de atributo no preparada de la solicitud de certificado es inalterable después de solicitar el certificado (el método ICertRequest::Submit permite especificar los atributos en el momento en que se solicita el certificado).
Puede usar el complemento MMC de la entidad de certificación para mostrar la cadena de atributo de solicitud no preparada inicial.
Al ver los atributos analizados, también verá los cambios debido a llamadas a SetRequestAttributes.
Para ver los atributos analizados
- Abra el complemento MMC de entidad de certificación.
- Abra la carpeta Solicitudes pendientes .
- Haga clic con el botón derecho en una solicitud, seleccione Todas las tareas y, a continuación, haga clic en Ver atributos o extensiones.
Las tareas de administración usan DCOM. El código que llama a este método de interfaz tal como se define en una versión anterior de Certadm.h se ejecutará en servidores basados en Windows siempre que el cliente y el servidor ejecuten el mismo sistema operativo Windows.
Ejemplos
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.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certadm.h (incluya Certsrv.h) |
Library | Certidl.lib |
Archivo DLL | Certadm.dll |