共用方式為


PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC回呼函式 (wincrypt.h)

CryptExportPublicKeyInfoEx會呼叫PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC回呼函式,以匯出公開金鑰 BLOB 並將其編碼。

語法

PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;

BOOL PfnCryptExportPublicKeyInfoEx2Func(
  [in]            NCRYPT_KEY_HANDLE hNCryptKey,
  [in]            DWORD dwCertEncodingType,
  [in]            LPSTR pszPublicKeyObjId,
  [in]            DWORD dwFlags,
  [in, optional]  void *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD *pcbInfo
)
{...}

參數

[in] hNCryptKey

匯出公開金鑰資訊時要使用的 密碼編譯服務提供者 (CSP) 控制碼。 此控制碼必須是使用NCryptOpenKey函式所建立的NCRYPT_KEY_HANDLE控制碼。

[in] dwCertEncodingType

值,指定使用的編碼類型。 將憑證和 訊息編碼類型 與位OR 作業結合在一起,一律可以接受,如下列範例所示:

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING

目前定義的編碼類型如下:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPublicKeyObjId

包含 公開金鑰演算法之字串的指標。

[in] dwFlags

值,指出如何匯出公開金鑰資訊。 這可以是零。

[in, optional] pvAuxInfo

此參數保留供日後使用,且必須設定為 Null

[out, optional] pInfo

要匯出之公開金鑰資訊的 CERT_PUBLIC_KEY_INFO 結構的指標。

此參數可以是 Null ,可針對記憶體配置目的設定此資訊的大小。 如需詳細資訊,請參閱 擷取未知長度的資料

[in, out] pcbInfo

DWORD的指標,其中包含pInfo參數所指向之緩衝區的大小,以位元組為單位。 當函式傳回時, DWORD 會包含儲存在緩衝區中的位元組數目。

注意 處理緩衝區中傳回的資料時,應用程式必須使用傳回之資料的實際大小。 實際大小可能比輸入上指定的緩衝區大小稍微小一點。 (輸入時,通常會指定足夠的緩衝區大小,以確保最大可能的輸出資料會符合 buffer.) On 輸出中,此參數所指向的變數會更新,以反映複製到緩衝區的資料的實際大小。
 

傳回值

如果函式成功,則傳回值為非零 (TRUE) 。

如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError

如果此回呼函式不支援簽章演算法,則必須傳回FALSE,並使用ERROR_NOT_SUPPORTED呼叫SetLastError

備註

您可以使用 OID 支援函式 來部署此回呼函式。 Wincrypt.h 會為此目的定義下列常數。

常數 定義
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC 「CryptDllExportPublicKeyInfoEx2」

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 wincrypt.h