Método IEnumCERTVIEWEXTENSION::GetValue (certview.h)
O método GetValue recupera o valor da extensão atual na sequência de enumeração de extensão.
Sintaxe
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
Parâmetros
[in] Type
Tipo de dados para os dados retornados. Esse parâmetro pode ser usado para especificar que os dados da extensão sejam decodificados antes de serem retornados. Se PROPTYPE_BINARY for especificado, os dados não serão decodificados, mas retornados em seu formato bruto.
Especifique um dos valores a seguir.
[in] Flags
Sinalizador que indica o formato de saída para os dados retornados. Esse parâmetro pode usar um dos valores a seguir.
[out] pvarValue
Um ponteiro para um valor do tipo VARIANT que contém os dados da extensão referenciada no momento. Esse método falhará se o parâmetro pvarValue for NULL. Após a conclusão bem-sucedida dessa função, pvarValue contém os dados de extensão atualmente referenciados pela sequência de enumeração de extensão. O chamador é responsável por chamar VariantClear quando terminar com os dados em pvarValue.
Retornar valor
C++
Se o método for bem-sucedido, o método retornará S_OK.Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
VB
O valor retornado é um Variant que representa os dados na extensão.Comentários
Esse método é usado para recuperar os dados na extensão que está sendo referenciada pela sequência de enumeração de extensão.
Se a sequência de enumeração de extensão não estiver referenciando uma extensão válida, GetValue falhará. Use um dos seguintes métodos para navegar pela enumeração:
- IEnumCERTVIEWEXTENSION::Reset: move para a próxima extensão na sequência de enumeração.
- IEnumCERTVIEWEXTENSION::Next: move para a próxima extensão na sequência de enumeração.
- IEnumCERTVIEWEXTENSION::Skip: ignora um número especificado de extensões.
Exemplos
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 | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certview.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certadm.dll |
Confira também
IEnumCERTVIEWEXTENSION