ICEnroll3::GetKeyLen 方法 (xenroll.h)
[此方法已不再可供 Windows Server 2008 和 Windows Vista 使用。]
GetKeyLen 方法會擷取簽章和交換密鑰的最小和最大密鑰長度。 這個方法最初是在 ICEnroll3 介面中定義。 此方法所擷取的值取決於目前的 密碼編譯服務提供者。
語法
HRESULT GetKeyLen(
[in] BOOL fMin,
[in] BOOL fExchange,
[out] LONG *pdwKeySize
);
參數
[in] fMin
布爾值,指出擷取哪些索引鍵長度 (最小或最大) 。 如果 fMin 為 TRUE,則會擷取最小密鑰長度;如果是 FALSE,則會擷取金鑰長度上限。
[in] fExchange
指出索引鍵類型的布爾值。 如果 fExchange 為 TRUE,則會擷取交換密鑰長度;如果是 FALSE,則會擷取簽章密鑰長度。
[out] pdwKeySize
以位為單位接收索引鍵最小或最大長度的指標。
傳回值
C++
如果方法成功,方法會傳回S_OK,而 *pdwKeySize 將會是值,代表密鑰最小或最大長度的位 (長度) 。如果方法失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
VB
值,表示金鑰最小或最大長度的長度,以位為單位。備註
呼叫此方法以判斷金鑰長度下限和最大長度。 如果 CSP 不支援此方法,則會傳回錯誤。
範例
DWORD dwExchMin, dwExchMax, dwSignMin, dwSignMax;
// Determine the minimum and maximum key length values.
// hr is HRESULT variable.
hr = pEnroll->GetKeyLen( TRUE, TRUE, &dwExchMin );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Exchange Minimum [%x]\n", hr);
else
printf("Exchange key Min: %d\n", dwExchMin);
hr = pEnroll->GetKeyLen( FALSE, TRUE, &dwExchMax );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Exchange Maximum [%x]\n", hr);
else
printf("Exchange key Max: %d\n", dwExchMax );
hr = pEnroll->GetKeyLen( TRUE, FALSE, &dwSignMin );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Signature Minimum [%x]\n", hr);
else
printf("Signature key Min: %d\n", dwSignMin );
hr = pEnroll->GetKeyLen( FALSE, FALSE, &dwSignMax );
if ( FAILED( hr ) )
printf("Failed GetKeyLen for Signature Maximum [%x]\n", hr);
else
printf("Signature key Max: %d\n", dwSignMax );
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | xenroll.h |
程式庫 | Uuid.lib |
Dll | Xenroll.dll |