ICertServerExit::GetCertificateExtension 方法 (certif.h)
GetCertificateExtension方法會取得指定的憑證延伸模組。
請注意,憑證延伸模組與憑證屬性不同。 屬性是附加至要求物件的泛型資料。 其中一些屬性會編碼為憑證 (範例: BeginDate) ,而其他屬性則只是用來標記佇列和記錄中的要求。 未停用的延伸模組會編碼為憑證。 延伸模組一律會以 物件識別碼 標示,而且一律具有關鍵/非關鍵旗標。
語法
HRESULT GetCertificateExtension(
[in] const BSTR strExtensionName,
[in] LONG Type,
[out] VARIANT *pvarValue
);
參數
[in] strExtensionName
包含延伸模組名稱的字串。
[in] Type
指定擴充功能的類型。 此類型可以是下列其中一種類型。
值 | 意義 |
---|---|
|
帶正負號的長資料 |
|
Date/time |
|
擴充值會依原樣擷取,並視需要編碼 ASN.1。 |
|
副檔名值為 ASN.1,編碼為 IA5 字串。 |
[out] pvarValue
VARIANT的指標,可接收要求的延伸模組值。
傳回值
C++
如果方法成功,方法會傳回S_OK,而 *pvarValue 會設定為包含擴充值的 VARIANT 。如果方法失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
VB
傳回值是要求的擴充值。備註
您必須在使用此方法之前呼叫 ICertServerExit::SetCoNtext 。
範例
VARIANT varExt;
HRESULT hr;
VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
PROPTYPE_BINARY,
&varExt);
if (FAILED(hr))
{
printf("Failed GetCertificateExtension [%x]\n", hr);
goto error;
}
// Successful call; Use the value in varExt as needed.
// ...
// When done, clear the Variant
VariantClear(&varExt);
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certif.h (包括 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |