Share via


Método ICertServerExit::GetRequestProperty (certif.h)

El método GetRequestProperty devuelve una propiedad con nombre de una solicitud.

Tenga en cuenta que la solicitud se usa para contener todos los estados asociados para la solicitud y el certificado concedido final que no forma parte del certificado. Por lo tanto, los datos como los tiempos de revocación y los datos de eliminación se conservan en el objeto de datos de solicitud.

Sintaxis

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Parámetros

[in] strPropertyName

Especifica la propiedad que se va a recuperar. Hay un conjunto de existencias de propiedades de certificado, denominadas propiedades de nombre, que siempre son válidas y que se pueden recuperar llamando a este método. Para obtener información sobre estas propiedades, vea Propiedades de nombre.

Otras propiedades válidas para las solicitudes de certificado incluyen las propiedades de la solicitud.

NotaGetRequestProperty solo puede acceder a las propiedades DistinguishedName y RawName de la solicitud si se solicita el certificado mediante una solicitud de certificado PKCS #10 u otro formato de solicitud compatible que contenga información de nombre de sujeto codificada. Tenga en cuenta que las solicitudes keyGen no contienen información de nombre de sujeto codificada.
 

Las siguientes propiedades son únicas para las solicitudes y se puede acceder a ellas mediante el método GetRequestProperty .

Request (propiedad) Significado
Disposition
Long con signo
Eliminación de solicitudes actual
DispositionMessage
String
Mensaje de eliminación informativa
RawCACertificate
Binary
Certificado para la entidad de certificación emisora
RawRequest
Binary
Bytes de solicitud sin formato
RequestAttributes
String
Cadena de atributo (se puede truncar)
RequesterName
String
Nombre del solicitante con el formato "DomainName\UserID"
IdSolicitud
Long con signo
RequestID interno
RequestType
Long con signo
Indica la solicitud PKCS #10 o KeyGen.
ResolvedWhen
Fecha y hora
Cuando se resuelve
StatusCode
Long con signo
Error de Windows para la última operación
SubmittedWhen
Fecha y hora
Cuándo llegó
 

La propiedad RequestType será uno de los valores siguientes.

Valor Significado
CR_IN_PKCS7
Solicitud de renovación o registro de PKCS #7
CR_IN_PKCS10
Solicitud PKCS #10
CR_IN_KEYGEN
Solicitud keygen (formato Netscape)
 

Además, otras propiedades se pueden establecer mediante un tipo de solicitud específico, extensiones de solicitud o atributos con nombre establecidos en el encabezado de una solicitud.

[in] PropertyType

Especifica el tipo de propiedad. El tipo puede ser uno de los siguientes tipos.

Valor Significado
PROPTYPE_LONG
Datos largos firmados
PROPTYPE_DATE
Fecha y hora
PROPTYPE_BINARY
Datos binarios
PROPTYPE_STRING
Datos de cadena Unicode

[out] pvarPropertyValue

Puntero a variant que contendrá el tipo de propiedad de solicitud.

Valor devuelto

C++

Si el método se ejecuta correctamente, el método devuelve S_OK y *pvarPropertyValue se establece en variant que contiene el valor de la propiedad request.

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.

VB

El valor devuelto es el valor de la propiedad de solicitud.

Comentarios

Debe llamar a ICertServerExit::SetContext antes de usar este método.

Ejemplos

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

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 certif.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certcli.dll

Consulte también

ICertServerExit

ICertServerExit::SetContext

Propiedades de nombre