CAPICOM_ERROR_CODE 枚举

CAPICOM_ERROR_CODE 枚举类型定义 CAPICOM 返回的错误代码。

注意

Visual Basic Scripting Edition 错误返回大于零的 Err.number 值。 对于这些错误, Err.Description 值提供有关错误原因的信息。 除了 Visual Basic Scripting Edition 错误外,CAPICOM 错误还返回 由 CAPICOM_ERROR_CODE 定义的代码。

 

成员

成员 说明
CAPICOM_E_ENCODE_INVALID_TYPE 使用了无效的编码类型。
以下列表显示了有效的编码类型:
  • CAPICOM_ENCODE_ANY
  • CAPICOM_ENCODE_BASE64
  • CAPICOM_ENCODE_BINARY

0x80880100
CAPICOM_E_EKU_INVALID_OID 无法设置 EKU 对象的 OID 属性,因为 Name 属性未设置为 CAPICOM_EKU_OTHER。
在设置 OID 属性之前,将 Name 属性设置为 CAPICOM_EKU_OTHER。
0x80880200
CAPICOM_E_EKU_OID_NOT_INITIALIZED EKU 对象的 OID 属性尚未初始化。
Name 属性设置为除 CAPICOM_EKU_OTHER 以外的任何内容,或将 Name 属性设置为 CAPICOM_EKU_OTHER,将 OID 属性设置为值。
0x80880201
CAPICOM_E_CERTIFICATE_NOT_INITIALIZED 尚未初始化 Certificate 对象。
通常,当 实例化证书 对象但不与数字证书关联时,会返回此错误代码。 若要将对象与数字证书相关联,请将其分配给现有的 Certificate 对象或调用 Import 方法。
0x80880210
CAPICOM_E_CERTIFICATE_NO_PRIVATE_KEY Certificate 对象没有关联的私钥。
尝试使用签名者的私钥对数据进行签名,但与签名者对象关联的 Certificate 对象不能用于签名操作时,将返回此错误代码。
0x80880211
CAPICOM_E_CHAIN_NOT_BUILT Chain 对象尚未初始化。
若要初始化 Chain 对象,请调用 Build 方法。
0x80880220
CAPICOM_E_STORE_NOT_OPENED Store 对象尚未初始化。
若要初始化 Store 对象,请调用 Open 方法。
0x80880230
CAPICOM_E_STORE_EMPTY Store 对象不包含任何 Certificate 对象。
0x80880231
CAPICOM_E_STORE_INVALID_OPEN_MODE Store.Open 方法的 OpenMode 参数不包含有效值 CAPICOM_STORE_OPEN_MODE。
以下列表显示了CAPICOM_STORE_OPEN_MODE的有效值:
  • CAPICOM_STORE_OPEN_READ_ONLY
  • CAPICOM_STORE_OPEN_READ_WRITE
  • CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
  • CAPICOM_STORE_OPEN_EXISTING_ONLY
  • CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED

0x80880232
CAPICOM_E_STORE_INVALID_SAVE_AS_TYPE 传递给 Store 对象的 Export 方法的 SaveAs 值无效。
以下列表显示了有效的 SaveAs 值:
  • CAPICOM_STORE_SAVE_AS_SERIALIZED
  • CAPICOM_STORE_SAVE_AS_PKCS7

0x80880233
CAPICOM_E_ATTRIBUTE_NAME_NOT_INITIALIZED 尚未初始化 Attribute 对象的 Name 属性。
设置 Name 属性。
0x80880240
CAPICOM_E_ATTRIBUTE_VALUE_NOT_INITIALIZED 尚未初始化 Attribute 对象的 Value 属性。
设置 Value 属性。
0x80880241
CAPICOM_E_ATTRIBUTE_INVALID_NAME Attribute 对象的 Name 属性无效。
以下列表显示了有效的属性名称:
  • CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
  • CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME
  • CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION

0x80880242
CAPICOM_E_ATTRIBUTE_INVALID_VALUE Attribute 对象的 Value 属性无效,因为数据类型与 Name 属性指示的数据类型不匹配。
例如,如果 Name 属性设置为 CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME,则数据类型必须为 DATE
0x80880243
CAPICOM_E_SIGNER_NOT_INITIALIZED 尚未初始化 Signer 对象。
若要初始化 Signer 对象,请设置 Certificate 属性。
0x80880250
CAPICOM_E_SIGNER_NOT_FOUND SignedData 对象中找不到签名者。
通常,这不会发生在 CAPICOM 创建的 SignedData 对象中;但是,如果 SignedData 对象是由第三方产品创建的,则签名者的证书可能不会包含在 PKCS #7 结构中。
0x80880251
CAPICOM_E_SIGNER_NO_CHAIN Signer 对象中找不到 Chain 对象。
0x80880252 // v2.0
CAPICOM_E_SIGNER_INVALID_USAGE 尝试以无效的方式使用签名者。
0x80880253 //v2.0
CAPICOM_E_SIGN_NOT_INITIALIZED SignedData 对象尚未初始化。
若要初始化 SignedData 对象,请设置 Content 属性或调用 Verify 方法。
0x80880260
CAPICOM_E_SIGN_INVALID_TYPE SignedData 对象包含无效的类型。
通常,当尝试使用 SignedData 对象验证信封邮件时,就会发生这种情况,反之亦然。
0x80880261
CAPICOM_E_SIGN_NOT_SIGNED SignedData 对象尚未签名。
若要对 SignedData 对象进行签名,请调用 Sign 方法。
0x80880262
CAPICOM_E_INVALID_ALGORITHM Algorithm 对象的 Name 属性的算法值无效。
以下列表显示了 Name 属性的有效算法值:
  • CAPICOM_ENCRYPTION_ALGORITHM_RC2
  • CAPICOM_ENCRYPTION_ALGORITHM_RC4
  • CAPICOM_ENCRYPTION_ALGORITHM_DES
  • CAPICOM_ENCRYPTION_ALGORITHM_3DES

0x80880270
CAPICOM_E_INVALID_KEY_LENGTH Algorithm 对象的 KeyLength 属性的密钥长度值无效。
以下列表显示了 KeyLength 属性的有效密钥长度值:
  • CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
  • CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS
  • CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS
  • CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS

0x80880271
CAPICOM_E_ENVELOP_NOT_INITIALIZED EnvelopedData 对象尚未初始化。
若要初始化 EnvelopedData 对象,请设置 Content 属性或调用 Decrypt 方法。
0x80880280
CAPICOM_E_ENVELOP_INVALID_TYPE EnvelopedData 对象包含无效的类型。
通常,当尝试使用 EnvelopedData 对象验证已签名的消息时,就会发生这种情况,反之亦然。
0x80880281
CAPICOM_E_ENVELOP_NO_RECIPIENT 调用 EnvelopedData 对象的 Encrypt 方法时, EnvelopedData 对象中没有指定收件人。
若要添加收件人,请调用 Recipients.Add 方法。
0x80880282
CAPICOM_E_ENVELOP_RECIPIENT_NOT_FOUND EnvelopedData 对象中找不到收件人。
通常,这不会发生在由 CAPICOM 创建的 EnvelopedData 对象中;但是,如果 EnvelopedData 对象是由第三方产品创建的,则收件人的证书可能不包含在 PKCS #7 结构中。
0x80880283
CAPICOM_E_ENCRYPT_NOT_INITIALIZED EncryptedData 对象尚未初始化。
若要初始化 EncryptedData 对象,请设置 Content 属性或调用 Decrypt 方法。
0x80880290
CAPICOM_E_ENCRYPT_INVALID_TYPE EncryptedData 对象不是有效的类型。
通常,这意味着数据已损坏。
0x80880291
CAPICOM_E_ENCRYPT_NO_SECRET EncryptedData 对象的机密尚未初始化。
若要初始化 EncryptedData 对象的机密,请调用 SetSecret 方法。
0x80880292
CAPICOM_E_PRIVATE_KEY_NOT_INITIALIZED 尚未初始化 PrivateKey 对象。
0x80880300 // v2.0
CAPICOM_E_PRIVATE_KEY_NOT_EXPORTABLE 无法导出 PrivateKey 对象。
0x80880301 // v2.0
CAPICOM_E_ENCODE_NOT_INITIALIZED EncodedData 对象尚未初始化。
0x80880320 // v2.0
CAPICOM_E_EXTENSION_NOT_INITIALIZED 扩展对象尚未初始化。
0x80880330 // v2.0
CAPICOM_E_PROPERTY_NOT_INITIALIZED ExtendedProperty 对象的 PropID 属性尚未初始化。
0x80880340 // v2.0
CAPICOM_E_FIND_INVALID_TYPE Certificates.Find 方法的 FindType 参数不是 CAPICOM_CERTIFICATE_FIND_TYPE 枚举的值。
0x80880350 // v2.0
CAPICOM_E_FIND_INVALID_PREDEFINED_POLICY 为查找操作指定的预定义策略无效。
0x80880351 // v2.0
CAPICOM_E_CODE_NOT_INITIALIZED SignedCode 对象尚未初始化。
0x80880360 // v2.0
CAPICOM_E_CODE_NOT_SIGNED 尚未对 SignedCode 对象进行签名。
若要对 SignedCode 对象进行签名,请调用 Sign 方法。
0x80880361 // v2.0
CAPICOM_E_CODE_DESCRIPTION_NOT_INITIALIZED SignedCode 对象的 Description 属性尚未初始化。
0x80880362 // v2.0
CAPICOM_E_CODE_DESCRIPTION_URL_NOT_INITIALIZED SignedCode 对象的 DescriptionURL 属性尚未初始化。
0x80880363 // v2.0
CAPICOM_E_CODE_INVALID_TIMESTAMP_URL SignedCode.Timestamp 方法的 URL 参数无效。
0x80880364 // v2.0
CAPICOM_E_HASH_NO_DATA HashedData 对象不包含任何数据。
0x80880370 // v2.0
CAPICOM_E_INVALID_CONVERT_TYPE 转换类型无效。
0x80880380 // v2.0
CAPICOM_E_NOT_SUPPORTED 当前平台不支持请求的操作。
0x80880900
CAPICOM_E_UI_DISABLED 签名时,尚未设置 Signer 对象的 Certificate 属性,但已禁用用户证书的提示。
通过设置 Settings 对象的 EnablePromptForCertificateUI 属性来启用提示,或设置 Signer 对象的 Certificate 属性。
0x80880901
CAPICOM_E_CANCELLED 用户已取消该操作。
当提示用户提供执行特定操作(例如访问私钥)的权限,并且用户取消该操作时,就会发生这种情况。
0x80880902
CAPICOM_E_NOT_ALLOWED 不允许尝试的操作。
例如,如果对象附加到证书,则不允许更改 ExtendedProperty 对象的 PropID 属性。
0x80880903 // v2.0
CAPICOM_E_OUT_OF_RESOURCE CAPICOM 已用完资源。
0x80880904 // v2.0
CAPICOM_E_INTERNAL 发生了内部错误。
请联系 Microsoft 技术支持获取帮助。
0x80880911
CAPICOM_E_UNKNOWN 发生了未知错误。
收集尽可能多的信息,并联系供应商。
0x80880999

要求

要求
可再发行组件
Windows Server 2003 和 Windows XP 上的 CAPICOM 2.0 或更高版本
标头
Capicom.h