IEnumCERTVIEWEXTENSION ::GetValue, méthode (certview.h)
La méthode GetValue récupère la valeur de l’extension actuelle dans la séquence extension-énumération.
Syntaxe
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
Paramètres
[in] Type
Type de données pour les données retournées. Ce paramètre peut être utilisé pour spécifier que les données d’extension doivent être décodées avant d’être retournées. Si PROPTYPE_BINARY est spécifié, les données ne sont pas décodées, mais retournées dans leur format brut.
Spécifiez l’une des valeurs suivantes.
[in] Flags
Indicateur qui indique le format de sortie pour les données retournées. Ce paramètre peut prendre les valeurs suivantes.
[out] pvarValue
Pointeur vers une valeur de type VARIANT qui contient les données de l’extension actuellement référencée. Cette méthode échoue si le paramètre pvarValue a la valeur NULL. Une fois cette fonction terminée, pvarValue contient les données d’extension actuellement référencées par la séquence extension-énumération. L’appelant est responsable de l’appel de VariantClear lorsqu’il a terminé avec les données dans pvarValue.
Valeur retournée
C++
Si la méthode réussit, la méthode retourne S_OK.Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
VB
La valeur de retour est un Variant qui représente les données de l’extension.Remarques
Cette méthode est utilisée pour récupérer les données dans l’extension actuellement référencée par la séquence extension-énumération.
Si la séquence extension-énumération ne fait pas référence à une extension valide, GetValue échoue. Utilisez l’une des méthodes suivantes pour parcourir l’énumération :
- IEnumCERTVIEWEXTENSION ::Reset : passe à l’extension suivante dans la séquence d’énumération.
- IEnumCERTVIEWEXTENSION ::Next : passe à l’extension suivante dans la séquence d’énumération.
- IEnumCERTVIEWEXTENSION ::Skip : ignore un nombre spécifié d’extensions.
Exemples
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 );
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certview.h (include Certsrv.h) |
Bibliothèque | Certidl.lib |
DLL | Certadm.dll |
Voir aussi
ICertView ::EnumCertViewColumn
IEnumCERTVIEWEXTENSION