ICertConfig::GetField 方法 (certcli.h)
GetField 方法會從組態資料庫的當前記錄中取得特定欄位。 此方法最初是在 ICertConfig 介面中定義。
語法
HRESULT GetField(
[in] const BSTR strFieldName,
[out, retval] BSTR *pstrOut
);
參數
[in] strFieldName
指定要傳回的功能變數名稱。 此參數可以是功能變數名稱的下列其中一個有效字串, (請注意,某些證書頒發機構單位可能不會為每個欄位提供數據) 。
值 | 意義 |
---|---|
|
參考證書頒發機構單位 (CA) 名稱。 |
|
伺服器的一般名稱。 |
|
參照電腦\CA 名稱。 |
|
國家/地區。 |
|
伺服器 (的描述性批注會取代過時的「批注」) 。 |
|
包含交換憑證的檔名 (僅適用於憑證服務 1.0) 。 |
|
字串,表示找到 CA 資訊的位置。 如需詳細資訊,請參閱<備註>。 |
|
城市或城市。 |
|
組織。 |
|
組織單位。 |
|
根據 GetConfig 中所述的規則來清理的 CA 名稱。 |
|
根據 GetConfig 中所述的規則來清理和縮短的 CA 名稱。 |
|
參照計算機名稱。 |
|
SanitizedShortName,但具有 '!xxx' 序列,如 GetConfig 中所述,會轉譯回原始文字。 |
|
包含 CA 憑證的檔名 (也稱為 CA 簽章憑證) ;這可能不是 跟證書。 |
|
州或省。 |
|
Active Directory 中特定 CA 組態的憑證註冊 Web 服務 URL 陣列。
Windows Vista 和 Windows Storage Server 2003: 不支援此欄位。 |
[out, retval] pstrOut
從欄位接收數據的 BSTR 指標。 當您完成使用 BSTR 時,藉由呼叫 SysFreeString 函式來釋放 pbstrOut。
傳回值
C++
如果方法成功,方法會傳回S_OK。如果方法失敗,它會傳回指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
VB
傳回值是代表欄位數據的字串。備註
這個方法會傳回指定欄位的欄位數據。
當您在 strFieldName 參數中指定 「Flags」 時,旗標欄位的擷取資料是字串,可透過 C 連結庫函式 _wtoi轉換成整數。 產生的整數代表可檢查的位字段,以判斷是否已設定旗標CAIF_DSENTRY和CAIF_SHAREDFOLDERENTRY。 如果已設定CAIF_DSENTRY (0x00000001) ,CA 的資訊會包含在目錄服務中。 如果已設定CAIF_SHAREDFOLDERENTRY (0x00000002) ,CA 的資訊會包含在共享資料夾中。 請注意,可以設定其中一或兩個旗標。
範例
BSTR bstrFieldName = NULL;
BSTR bstrFieldValue = NULL;
HRESULT hr;
// Specify the field to retrieve, for example, "CommonName".
bstrFieldName = SysAllocString(L"<FIELDNAMEHERE>");
if (NULL == bstrFieldName)
{
printf("Memory allocation failed for bstrFieldName.\n");
goto error;
}
// pConfig is a previously instantiated ICertConfig object.
hr = pConfig->GetField(bstrFieldName, &bstrFieldValue);
if (FAILED(hr))
{
printf("Failed GetField - [%x]\n", hr);
goto error;
}
else
printf("GetField value for %ws is: %ws\n",
bstrFieldName, bstrFieldValue );
error:
if (bstrFieldName)
SysFreeString(bstrFieldName);
if (bstrFieldValue)
SysFreeString(bstrFieldValue);
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certcli.h (包含 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |