ICertManageModule::GetProperty-Methode (certmod.h)
Die GetProperty-Methode ruft den Eigenschaftswert eines Moduls ab.
Syntax
HRESULT GetProperty(
[in] const BSTR strConfig,
[in] BSTR strStorageLocation,
[in] BSTR strPropertyName,
[in] LONG Flags,
[out, retval] VARIANT *pvarProperty
);
Parameter
[in] strConfig
Stellt die Konfigurationszeichenfolge für den Zertifikatdiensteserver im Format COMPUTERNAME\CANAME dar, wobei COMPUTERNAME der Netzwerkname des Zertifikatdiensteservers und CANAME der allgemeine Name der Zertifizierungsstelle ist, wie er während der Einrichtung der Zertifikatdienste für die Zertifizierungsstelle eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.
[in] strStorageLocation
Ein Registrierungsschlüssel, der den Speicherort in der HKEY_LOCAL_MACHINE Struktur für die Eigenschaftswerte angibt. Dieser Wert hat die folgende Form:
SYSTEM CurrentControlSet Services CertSvc Configuration CAName PolicyOrExitModules MyModule.PolicyOrExit
Der CAName ist der Name der Konfigurationszeichenfolge der Zertifizierungsstelle, PolicyOrExitModules ist entweder "Policy" oder "Exit" (je nachdem, ob ein Policy- oder Exit-Modul für diese Implementierung von ICertManageModule gilt), und MyModule.PolicyOrExit ist der anwendungsspezifische Bezeichner für das Modul. Beachten Sie, dass CAName der sanitisierte Name für die Zertifizierungsstelle ist. Informationen zum sanitisierten Namen finden Sie unter ICertConfig::GetConfig. Die Verwendung dieses Speicherorts ist für die zukünftige Verwendung vorgesehen.
[in] strPropertyName
Der Name der abgefragten Eigenschaft. Richtlinien- und Exitmodule sollten die folgenden Eigenschaften unterstützen.
Wert | Bedeutung |
---|---|
|
Der Name des Moduls. |
|
Beschreibung des Moduls. |
|
Copyright in Bezug auf das Modul. |
|
Version der Moduldatei. |
|
Version des Moduls. |
[in] Flags
Dieser Parameter ist reserviert und muss auf null festgelegt werden.
[out, retval] pvarProperty
Ein Zeiger auf einen VARIANT-Wert , der der abgerufene Wert für die von strPropertyName angegebene Eigenschaft ist.
Rückgabewert
C++
Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
VB
Der Rückgabewert ist ein Variant-Wert , der den Wert der Eigenschaft mit dem Namen strPropertyName darstellt.Hinweise
Durch die Implementierung von ICertManageModule kann der Certificate Services Manager die Eigenschaften des Moduls abrufen, indem Er GetProperty aufruft. Die Eigenschaften können dann auf den Eigenschaftenseiten des Zertifikatdienste-Managers für Richtlinien- und Beendigungsmodule angezeigt werden. Der Certificate Services Manager übergibt den Speicherort, auf den von strStorageLocation verwiesen wird, an dieses Modul, und in zukünftigen Versionen kann die Implementierung dieser Methode diesen Speicherort dann bei Bedarf verwenden. Im folgenden Beispiel wird strStorageLocation nicht verwendet, sondern die Eigenschaftswerte im Arbeitsspeicher beibehalten.
Beispiele
#include <windows.h>
#include <Certmod.h>
HRESULT CCertManagePolicyModule::GetProperty(
/* [in] */ const BSTR strConfig,
/* [in] */ BSTR strStorageLocation,
/* [in] */ BSTR strPropertyName,
/* [in] */ LONG Flags,
/* [retval][out] */ VARIANT *pvarProperty)
{
// Array of property Names.
// These values are defined in Certmod.h.
wchar_t const * awszPropName[] =
{
wszCMM_PROP_NAME,
wszCMM_PROP_DESCRIPTION,
wszCMM_PROP_COPYRIGHT,
wszCMM_PROP_FILEVER,
wszCMM_PROP_PRODUCTVER
};
// Array of property Values.
// These values are module-specific, and
// correspond to the property names in
// awszPropName (same index).
wchar_t const * awszPropValue[] =
{
L"MyModule", // NAME
L"Description of MyModule", // DESCRIPTION
L"Copyright 1998", // COPYRIGHT
L"1.0", // FILE VERSION
L"1.0" // PRODUCT VERSION
};
int i;
bool bFound = FALSE;
HRESULT hr;
// Return appropriate error if strPropertyName is NULL.
if (NULL == strPropertyName)
return E_INVALIDARG;
// Return appropriate error if pvarProperty is NULL.
if (NULL == pvarProperty)
return E_POINTER;
// Determine whether the requested property is in the Name array.
for (i=0; i<sizeof(awszPropName)/sizeof(wchar_t *); i++)
if (!wcscmp( strPropertyName, awszPropName[i]))
{
bFound = TRUE; // Found the index for the property.
break;
}
if ( !bFound )
return S_FALSE; // Requested property not found.
// Allocate storage for the property value.
pvarProperty->bstrVal = SysAllocString(awszPropValue[i]);
if (NULL == pvarProperty->bstrVal)
return E_OUTOFMEMORY;
pvarProperty->vt = VT_BSTR;
return S_OK;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certmod.h (include Certsrv.h) |
Bibliothek | Certidl.lib |
Weitere Informationen
CCertManageModule