Método IEnumCERTVIEWEXTENSION::GetValue (certview.h)
El método GetValue recupera el valor de la extensión actual en la secuencia de enumeración de extensiones.
Sintaxis
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
Parámetros
[in] Type
Tipo de datos para los datos devueltos. Este parámetro se puede usar para especificar que los datos de extensión se descodifiquen antes de devolverse. Si se especifica PROPTYPE_BINARY, los datos no se descodifican, sino que se devuelven en su formato sin formato.
Especifique uno de los valores siguientes.
[in] Flags
Marca que indica el formato de salida de los datos devueltos. Este parámetro puede ser uno de los valores siguientes.
[out] pvarValue
Puntero a un valor de tipo VARIANT que contiene los datos de la extensión a la que se hace referencia actualmente. Este método produce un error si el parámetro pvarValue es NULL. Tras completar correctamente esta función, pvarValue contiene los datos de extensión a los que hace referencia actualmente la secuencia de enumeración de extensión. El autor de la llamada es responsable de llamar a VariantClear cuando haya terminado con los datos de pvarValue.
Valor devuelto
C++
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.
VB
El valor devuelto es un valor Variant que representa los datos de la extensión.Comentarios
Este método se usa para recuperar los datos de la extensión a los que hace referencia actualmente la secuencia de enumeración de extensiones.
Si la secuencia de enumeración de extensión no hace referencia a una extensión válida, Se produce un error en GetValue . Use uno de los métodos siguientes para navegar por la enumeración :
- IEnumCERTVIEWEXTENSION::Reset: se mueve a la siguiente extensión de la secuencia de enumeración.
- IEnumCERTVIEWEXTENSION::Next: se mueve a la siguiente extensión de la secuencia de enumeración.
- IEnumCERTVIEWEXTENSION::Skip: omite un número especificado de extensiones.
Ejemplos
VARIANT var;
LONG Index;
HRESULT hr;
SYSTEMTIME systime;
VariantInit(&var);
// Enumerate each extension
// pEnumExt is previously instantiated IEnumCERTVIEWEXTENSION object
while (S_OK == pEnumExt->Next(&Index))
{
hr = pEnumExt->GetValue(PROPTYPE_BINARY, CV_OUT_HEX, &var);
if (FAILED(hr))
{
printf("Failed GetValue - %x\n", hr);
break;
}
switch(var.vt)
{
case VT_EMPTY:
printf("VT_EMPTY\n");
break;
case VT_BSTR:
printf("BSTR:%ws\n", var.bstrVal);
break;
case VT_DATE:
VariantTimeToSystemTime(var.date, &systime);
printf("%d.%d.%d %02d:%02d:%02d\n",
systime.wMonth,
systime.wDay,
systime.wYear,
systime.wHour,
systime.wMinute,
systime.wSecond );
break;
case VT_I2:
printf("%d\n", var.iVal);
break;
case VT_I4:
printf("%d\n", var.lVal);
break;
default:
printf("type is:%i\n", var.vt);
break;
}
}
// Free resources.
VariantClear( &var );
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 | certview.h (incluya Certsrv.h) |
Library | Certidl.lib |
Archivo DLL | Certadm.dll |
Consulte también
IEnumCERTVIEWEXTENSION