共用方式為


ICEnroll3::GetKeyLen 方法 (xenroll.h)

[此方法已不再可供 Windows Server 2008 和 Windows Vista 使用。]

GetKeyLen 方法會擷取簽章交換密鑰的最小和最大密鑰長度。 這個方法最初是在 ICEnroll3 介面中定義。 此方法所擷取的值取決於目前的 密碼編譯服務提供者

語法

HRESULT GetKeyLen(
  [in]  BOOL fMin,
  [in]  BOOL fExchange,
  [out] LONG *pdwKeySize
);

參數

[in] fMin

布爾值,指出擷取哪些索引鍵長度 (最小或最大) 。 如果 fMinTRUE,則會擷取最小密鑰長度;如果是 FALSE,則會擷取金鑰長度上限。

[in] fExchange

指出索引鍵類型的布爾值。 如果 fExchangeTRUE,則會擷取交換密鑰長度;如果是 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

另請參閱

CEnroll

ICEnroll3

ICEnroll4