/******************************************************************************* * * * crypterror.h -- error code definitions for the Win32 CryptAPI functions * * * * Copyright (c) 1991-1997, Microsoft Corp. All rights reserved. * * * *******************************************************************************/ #ifndef _WINERROR_ #define _WINERROR_ // // Values are 32 bit values layed out as follows: // // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +---+-+-+-----------------------+-------------------------------+ // |Sev|C|R| Facility | Code | // +---+-+-+-----------------------+-------------------------------+ // // where // // Sev - is the severity code // // 00 - Success // 01 - Informational // 10 - Warning // 11 - Error // // C - is the Customer code flag // // R - is a reserved bit // // Facility - is the facility code // // Code - is the facility's status code // // // Define the facility codes // #define FACILITY_WINDOWS 8 #define FACILITY_STORAGE 3 #define FACILITY_SSPI 9 #define FACILITY_SETUPAPI 15 #define FACILITY_RPC 1 #define FACILITY_WIN32 7 #define FACILITY_CONTROL 10 #define FACILITY_NULL 0 #define FACILITY_MSMQ 14 #define FACILITY_MEDIASERVER 13 #define FACILITY_INTERNET 12 #define FACILITY_ITF 4 #define FACILITY_DISPATCH 2 #define FACILITY_CERT 11 // // Define the severity codes // // // MessageId: ERROR_SUCCESS // // MessageText: // // The operation completed successfully. // #define ERROR_SUCCESS 0L #define NO_ERROR 0L // dderror // // HRESULTs are 32 bit values layed out as follows: // // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +-+-+-+-+-+---------------------+-------------------------------+ // |S|R|C|N|r| Facility | Code | // +-+-+-+-+-+---------------------+-------------------------------+ // // where // // S - Severity - indicates success/fail // // 0 - Success // 1 - Fail (COERROR) // // R - reserved portion of the facility code, corresponds to NT's // second severity bit. // // C - reserved portion of the facility code, corresponds to NT's // C field. // // N - reserved portion of the facility code. Used to indicate a // mapped NT status value. // // r - reserved portion of the facility code. Reserved for internal // use. Used to indicate HRESULT values that are not status // values, but are instead message ids for display strings. // // Facility - is the facility code // // Code - is the facility's status code // // // Severity values // #define SEVERITY_SUCCESS 0 #define SEVERITY_ERROR 1 // // Generic test for success on any status value (non-negative numbers // indicate success). // #define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) // // and the inverse // #define FAILED(Status) ((HRESULT)(Status)<0) // // Generic test for error on any status value. // #define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) // // Return the code // #define HRESULT_CODE(hr) ((hr) & 0xFFFF) #define SCODE_CODE(sc) ((sc) & 0xFFFF) // // Return the facility // #define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff) #define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1fff) // // Return the severity // #define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1) #define SCODE_SEVERITY(sc) (((sc) >> 31) & 0x1) // // Create an HRESULT value from component pieces // #define MAKE_HRESULT(sev,fac,code) \ ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) #define MAKE_SCODE(sev,fac,code) \ ((SCODE) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) ///////////////// // // FACILITY_SSPI // ///////////////// // // MessageId: NTE_BAD_UID // // MessageText: // // Bad UID. // #define NTE_BAD_UID _HRESULT_TYPEDEF_(0x80090001L) // // MessageId: NTE_BAD_HASH // // MessageText: // // Bad Hash. // #define NTE_BAD_HASH _HRESULT_TYPEDEF_(0x80090002L) // // MessageId: NTE_BAD_KEY // // MessageText: // // Bad Key. // #define NTE_BAD_KEY _HRESULT_TYPEDEF_(0x80090003L) // // MessageId: NTE_BAD_LEN // // MessageText: // // Bad Length. // #define NTE_BAD_LEN _HRESULT_TYPEDEF_(0x80090004L) // // MessageId: NTE_BAD_DATA // // MessageText: // // Bad Data. // #define NTE_BAD_DATA _HRESULT_TYPEDEF_(0x80090005L) // // MessageId: NTE_BAD_SIGNATURE // // MessageText: // // Invalid Signature. // #define NTE_BAD_SIGNATURE _HRESULT_TYPEDEF_(0x80090006L) // // MessageId: NTE_BAD_VER // // MessageText: // // Bad Version of provider. // #define NTE_BAD_VER _HRESULT_TYPEDEF_(0x80090007L) // // MessageId: NTE_BAD_ALGID // // MessageText: // // Invalid algorithm specified. // #define NTE_BAD_ALGID _HRESULT_TYPEDEF_(0x80090008L) // // MessageId: NTE_BAD_FLAGS // // MessageText: // // Invalid flags specified. // #define NTE_BAD_FLAGS _HRESULT_TYPEDEF_(0x80090009L) // // MessageId: NTE_BAD_TYPE // // MessageText: // // Invalid type specified. // #define NTE_BAD_TYPE _HRESULT_TYPEDEF_(0x8009000AL) // // MessageId: NTE_BAD_KEY_STATE // // MessageText: // // Key not valid for use in specified state. // #define NTE_BAD_KEY_STATE _HRESULT_TYPEDEF_(0x8009000BL) // // MessageId: NTE_BAD_HASH_STATE // // MessageText: // // Hash not valid for use in specified state. // #define NTE_BAD_HASH_STATE _HRESULT_TYPEDEF_(0x8009000CL) // // MessageId: NTE_NO_KEY // // MessageText: // // Key does not exist. // #define NTE_NO_KEY _HRESULT_TYPEDEF_(0x8009000DL) // // MessageId: NTE_NO_MEMORY // // MessageText: // // Insufficient memory available for the operation. // #define NTE_NO_MEMORY _HRESULT_TYPEDEF_(0x8009000EL) // // MessageId: NTE_EXISTS // // MessageText: // // Object already exists. // #define NTE_EXISTS _HRESULT_TYPEDEF_(0x8009000FL) // // MessageId: NTE_PERM // // MessageText: // // Access denied. // #define NTE_PERM _HRESULT_TYPEDEF_(0x80090010L) // // MessageId: NTE_NOT_FOUND // // MessageText: // // Object was not found. // #define NTE_NOT_FOUND _HRESULT_TYPEDEF_(0x80090011L) // // MessageId: NTE_DOUBLE_ENCRYPT // // MessageText: // // Data already encrypted. // #define NTE_DOUBLE_ENCRYPT _HRESULT_TYPEDEF_(0x80090012L) // // MessageId: NTE_BAD_PROVIDER // // MessageText: // // Invalid provider specified. // #define NTE_BAD_PROVIDER _HRESULT_TYPEDEF_(0x80090013L) // // MessageId: NTE_BAD_PROV_TYPE // // MessageText: // // Invalid provider type specified. // #define NTE_BAD_PROV_TYPE _HRESULT_TYPEDEF_(0x80090014L) // // MessageId: NTE_BAD_PUBLIC_KEY // // MessageText: // // Provider's public key is invalid. // #define NTE_BAD_PUBLIC_KEY _HRESULT_TYPEDEF_(0x80090015L) // // MessageId: NTE_BAD_KEYSET // // MessageText: // // Keyset does not exist // #define NTE_BAD_KEYSET _HRESULT_TYPEDEF_(0x80090016L) // // MessageId: NTE_PROV_TYPE_NOT_DEF // // MessageText: // // Provider type not defined. // #define NTE_PROV_TYPE_NOT_DEF _HRESULT_TYPEDEF_(0x80090017L) // // MessageId: NTE_PROV_TYPE_ENTRY_BAD // // MessageText: // // Provider type as registered is invalid. // #define NTE_PROV_TYPE_ENTRY_BAD _HRESULT_TYPEDEF_(0x80090018L) // // MessageId: NTE_KEYSET_NOT_DEF // // MessageText: // // The keyset is not defined. // #define NTE_KEYSET_NOT_DEF _HRESULT_TYPEDEF_(0x80090019L) // // MessageId: NTE_KEYSET_ENTRY_BAD // // MessageText: // // Keyset as registered is invalid. // #define NTE_KEYSET_ENTRY_BAD _HRESULT_TYPEDEF_(0x8009001AL) // // MessageId: NTE_PROV_TYPE_NO_MATCH // // MessageText: // // Provider type does not match registered value. // #define NTE_PROV_TYPE_NO_MATCH _HRESULT_TYPEDEF_(0x8009001BL) // // MessageId: NTE_SIGNATURE_FILE_BAD // // MessageText: // // The digital signature file is corrupt. // #define NTE_SIGNATURE_FILE_BAD _HRESULT_TYPEDEF_(0x8009001CL) // // MessageId: NTE_PROVIDER_DLL_FAIL // // MessageText: // // Provider DLL failed to initialize correctly. // #define NTE_PROVIDER_DLL_FAIL _HRESULT_TYPEDEF_(0x8009001DL) // // MessageId: NTE_PROV_DLL_NOT_FOUND // // MessageText: // // Provider DLL could not be found. // #define NTE_PROV_DLL_NOT_FOUND _HRESULT_TYPEDEF_(0x8009001EL) // // MessageId: NTE_BAD_KEYSET_PARAM // // MessageText: // // The Keyset parameter is invalid. // #define NTE_BAD_KEYSET_PARAM _HRESULT_TYPEDEF_(0x8009001FL) // // MessageId: NTE_FAIL // // MessageText: // // An internal error occurred. // #define NTE_FAIL _HRESULT_TYPEDEF_(0x80090020L) // // MessageId: NTE_SYS_ERR // // MessageText: // // A base error occurred. // #define NTE_SYS_ERR _HRESULT_TYPEDEF_(0x80090021L) // // MessageId: CRYPT_E_MSG_ERROR // // MessageText: // // An error was encountered doing a cryptographic message operation. // #define CRYPT_E_MSG_ERROR _HRESULT_TYPEDEF_(0x80091001L) // // MessageId: CRYPT_E_UNKNOWN_ALGO // // MessageText: // // The cryptographic algorithm is unknown. // #define CRYPT_E_UNKNOWN_ALGO _HRESULT_TYPEDEF_(0x80091002L) // // MessageId: CRYPT_E_OID_FORMAT // // MessageText: // // The object identifier is badly formatted. // #define CRYPT_E_OID_FORMAT _HRESULT_TYPEDEF_(0x80091003L) // // MessageId: CRYPT_E_INVALID_MSG_TYPE // // MessageText: // // The message type is invalid. // #define CRYPT_E_INVALID_MSG_TYPE _HRESULT_TYPEDEF_(0x80091004L) // // MessageId: CRYPT_E_UNEXPECTED_ENCODING // // MessageText: // // The message is not encoded as expected. // #define CRYPT_E_UNEXPECTED_ENCODING _HRESULT_TYPEDEF_(0x80091005L) // // MessageId: CRYPT_E_AUTH_ATTR_MISSING // // MessageText: // // The message does not contain an expected authenticated attribute. // #define CRYPT_E_AUTH_ATTR_MISSING _HRESULT_TYPEDEF_(0x80091006L) // // MessageId: CRYPT_E_HASH_VALUE // // MessageText: // // The hash value is not correct. // #define CRYPT_E_HASH_VALUE _HRESULT_TYPEDEF_(0x80091007L) // // MessageId: CRYPT_E_INVALID_INDEX // // MessageText: // // The index value is not valid. // #define CRYPT_E_INVALID_INDEX _HRESULT_TYPEDEF_(0x80091008L) // // MessageId: CRYPT_E_ALREADY_DECRYPTED // // MessageText: // // The message content has already been decrypted. // #define CRYPT_E_ALREADY_DECRYPTED _HRESULT_TYPEDEF_(0x80091009L) // // MessageId: CRYPT_E_NOT_DECRYPTED // // MessageText: // // The message content has not been decrypted yet. // #define CRYPT_E_NOT_DECRYPTED _HRESULT_TYPEDEF_(0x8009100AL) // // MessageId: CRYPT_E_RECIPIENT_NOT_FOUND // // MessageText: // // The enveloped-data message does not contain the specified recipient. // #define CRYPT_E_RECIPIENT_NOT_FOUND _HRESULT_TYPEDEF_(0x8009100BL) // // MessageId: CRYPT_E_CONTROL_TYPE // // MessageText: // // The control type is not valid. // #define CRYPT_E_CONTROL_TYPE _HRESULT_TYPEDEF_(0x8009100CL) // // MessageId: CRYPT_E_ISSUER_SERIALNUMBER // // MessageText: // // The issuer and/or serial number are/is not valid. // #define CRYPT_E_ISSUER_SERIALNUMBER _HRESULT_TYPEDEF_(0x8009100DL) // // MessageId: CRYPT_E_SIGNER_NOT_FOUND // // MessageText: // // The original signer is not found. // #define CRYPT_E_SIGNER_NOT_FOUND _HRESULT_TYPEDEF_(0x8009100EL) // // MessageId: CRYPT_E_ATTRIBUTES_MISSING // // MessageText: // // The message does not contain the requested attributes. // #define CRYPT_E_ATTRIBUTES_MISSING _HRESULT_TYPEDEF_(0x8009100FL) // // MessageId: CRYPT_E_STREAM_MSG_NOT_READY // // MessageText: // // The steamed message is note yet able to return the requested data. // #define CRYPT_E_STREAM_MSG_NOT_READY _HRESULT_TYPEDEF_(0x80091010L) // // MessageId: CRYPT_E_STREAM_INSUFFICIENT_DATA // // MessageText: // // The streamed message needs more data before the decode can complete. // #define CRYPT_E_STREAM_INSUFFICIENT_DATA _HRESULT_TYPEDEF_(0x80091011L) // // MessageId: CRYPT_E_BAD_LEN // // MessageText: // // The length specified for the output data was insufficient. // #define CRYPT_E_BAD_LEN _HRESULT_TYPEDEF_(0x80092001L) // // MessageId: CRYPT_E_BAD_ENCODE // // MessageText: // // An error was encountered while encoding or decoding. // #define CRYPT_E_BAD_ENCODE _HRESULT_TYPEDEF_(0x80092002L) // // MessageId: CRYPT_E_FILE_ERROR // // MessageText: // // An error occurred while reading or writing to the file // #define CRYPT_E_FILE_ERROR _HRESULT_TYPEDEF_(0x80092003L) // // MessageId: CRYPT_E_NOT_FOUND // // MessageText: // // The object or property wasn't found // #define CRYPT_E_NOT_FOUND _HRESULT_TYPEDEF_(0x80092004L) // // MessageId: CRYPT_E_EXISTS // // MessageText: // // The object or property already exists // #define CRYPT_E_EXISTS _HRESULT_TYPEDEF_(0x80092005L) // // MessageId: CRYPT_E_NO_PROVIDER // // MessageText: // // No provider was specified for the store or object // #define CRYPT_E_NO_PROVIDER _HRESULT_TYPEDEF_(0x80092006L) // // MessageId: CRYPT_E_SELF_SIGNED // // MessageText: // // The specified certificate is self signed. // #define CRYPT_E_SELF_SIGNED _HRESULT_TYPEDEF_(0x80092007L) // // MessageId: CRYPT_E_DELETED_PREV // // MessageText: // // The previous certificate or CRL context was deleted. // #define CRYPT_E_DELETED_PREV _HRESULT_TYPEDEF_(0x80092008L) // // MessageId: CRYPT_E_NO_MATCH // // MessageText: // // No match when trying to find the object. // #define CRYPT_E_NO_MATCH _HRESULT_TYPEDEF_(0x80092009L) // // MessageId: CRYPT_E_UNEXPECTED_MSG_TYPE // // MessageText: // // The type of the cryptographic message being decoded is different than what was expected. // #define CRYPT_E_UNEXPECTED_MSG_TYPE _HRESULT_TYPEDEF_(0x8009200AL) // // MessageId: CRYPT_E_NO_KEY_PROPERTY // // MessageText: // // The certificate doesn't have a private key property // #define CRYPT_E_NO_KEY_PROPERTY _HRESULT_TYPEDEF_(0x8009200BL) // // MessageId: CRYPT_E_NO_DECRYPT_CERT // // MessageText: // // No certificate was found having a private key property to use for decrypting. // #define CRYPT_E_NO_DECRYPT_CERT _HRESULT_TYPEDEF_(0x8009200CL) // // MessageId: CRYPT_E_BAD_MSG // // MessageText: // // Either, not a cryptographic message or incorrectly formatted. // #define CRYPT_E_BAD_MSG _HRESULT_TYPEDEF_(0x8009200DL) // // MessageId: CRYPT_E_NO_SIGNER // // MessageText: // // The signed message doesn't have a signer for the specified signer index // #define CRYPT_E_NO_SIGNER _HRESULT_TYPEDEF_(0x8009200EL) // // MessageId: CRYPT_E_PENDING_CLOSE // // MessageText: // // Final closure is pending until additional frees or closes. // #define CRYPT_E_PENDING_CLOSE _HRESULT_TYPEDEF_(0x8009200FL) // // MessageId: CRYPT_E_REVOKED // // MessageText: // // The certificate or signature has been revoked // #define CRYPT_E_REVOKED _HRESULT_TYPEDEF_(0x80092010L) // // MessageId: CRYPT_E_NO_REVOCATION_DLL // // MessageText: // // No Dll or exported function was found to verify revocation. // #define CRYPT_E_NO_REVOCATION_DLL _HRESULT_TYPEDEF_(0x80092011L) // // MessageId: CRYPT_E_NO_REVOCATION_CHECK // // MessageText: // // The called function wasn't able to do a revocation check on the certificate or signature. // #define CRYPT_E_NO_REVOCATION_CHECK _HRESULT_TYPEDEF_(0x80092012L) // // MessageId: CRYPT_E_REVOCATION_OFFLINE // // MessageText: // // Since the revocation server was offline, the called function wasn't able to complete the revocation check. // #define CRYPT_E_REVOCATION_OFFLINE _HRESULT_TYPEDEF_(0x80092013L) // // MessageId: CRYPT_E_NOT_IN_REVOCATION_DATABASE // // MessageText: // // The certificate or signature to be checked was not found in the revocation servers database. // #define CRYPT_E_NOT_IN_REVOCATION_DATABASE _HRESULT_TYPEDEF_(0x80092014L) // // MessageId: CRYPT_E_INVALID_NUMERIC_STRING // // MessageText: // // The string contains a non-numeric character. // #define CRYPT_E_INVALID_NUMERIC_STRING _HRESULT_TYPEDEF_(0x80092020L) // // MessageId: CRYPT_E_INVALID_PRINTABLE_STRING // // MessageText: // // The string contains a non-printable character. // #define CRYPT_E_INVALID_PRINTABLE_STRING _HRESULT_TYPEDEF_(0x80092021L) // // MessageId: CRYPT_E_INVALID_IA5_STRING // // MessageText: // // The string contains a character not in the 7 bit ASCII character set. // #define CRYPT_E_INVALID_IA5_STRING _HRESULT_TYPEDEF_(0x80092022L) // // MessageId: CRYPT_E_INVALID_X500_STRING // // MessageText: // // The string contains an invalid X500 name attribute key, oid, value or delimiter. // #define CRYPT_E_INVALID_X500_STRING _HRESULT_TYPEDEF_(0x80092023L) // // MessageId: CRYPT_E_NOT_CHAR_STRING // // MessageText: // // The dwValueType for the CERT_NAME_VALUE is not one of the character strings. Most likely it is either a CERT_RDN_ENCODED_BLOB or CERT_TDN_OCTED_STRING. // #define CRYPT_E_NOT_CHAR_STRING _HRESULT_TYPEDEF_(0x80092024L) // // MessageId: CRYPT_E_FILERESIZED // // MessageText: // // The Put operation can not continue. The file needs to be resized. However, there is already a signature present. A complete signing operation must be done. // #define CRYPT_E_FILERESIZED _HRESULT_TYPEDEF_(0x80092025L) // // MessageId: CRYPT_E_SECURITY_SETTINGS // // MessageText: // // The cryptography operation has failed due to a local security option setting. // #define CRYPT_E_SECURITY_SETTINGS _HRESULT_TYPEDEF_(0x80092026L) // // MessageId: CRYPT_E_NO_VERIFY_USAGE_DLL // // MessageText: // // No DLL or exported function was found to verify subject usage. // #define CRYPT_E_NO_VERIFY_USAGE_DLL _HRESULT_TYPEDEF_(0x80092027L) // // MessageId: CRYPT_E_NO_VERIFY_USAGE_CHECK // // MessageText: // // The called function wasn't able to do a usage check on the subject. // #define CRYPT_E_NO_VERIFY_USAGE_CHECK _HRESULT_TYPEDEF_(0x80092028L) // // MessageId: CRYPT_E_VERIFY_USAGE_OFFLINE // // MessageText: // // Since the server was offline, the called function wasn't able to complete the usage check. // #define CRYPT_E_VERIFY_USAGE_OFFLINE _HRESULT_TYPEDEF_(0x80092029L) // // MessageId: CRYPT_E_NOT_IN_CTL // // MessageText: // // The subject was not found in a Certificate Trust List (CTL). // #define CRYPT_E_NOT_IN_CTL _HRESULT_TYPEDEF_(0x8009202AL) // // MessageId: CRYPT_E_NO_TRUSTED_SIGNER // // MessageText: // // No trusted signer was found to verify the signature of the message or trust list. // #define CRYPT_E_NO_TRUSTED_SIGNER _HRESULT_TYPEDEF_(0x8009202BL) // // MessageId: CRYPT_E_OSS_ERROR // // MessageText: // // OSS Certificate encode/decode error code base // // See asn1code.h for a definition of the OSS runtime errors. The OSS // error values are offset by CRYPT_E_OSS_ERROR. // #define CRYPT_E_OSS_ERROR _HRESULT_TYPEDEF_(0x80093000L) // // MessageId: CERTSRV_E_BAD_REQUESTSUBJECT // // MessageText: // // The request subject name is invalid or too long. // #define CERTSRV_E_BAD_REQUESTSUBJECT _HRESULT_TYPEDEF_(0x80094001L) // // MessageId: CERTSRV_E_NO_REQUEST // // MessageText: // // The request does not exist. // #define CERTSRV_E_NO_REQUEST _HRESULT_TYPEDEF_(0x80094002L) // // MessageId: CERTSRV_E_BAD_REQUESTSTATUS // // MessageText: // // The request's current status does not allow this operation. // #define CERTSRV_E_BAD_REQUESTSTATUS _HRESULT_TYPEDEF_(0x80094003L) // // MessageId: TRUST_E_SYSTEM_ERROR // // MessageText: // // A system-level error occured while verifying trust. // #define TRUST_E_SYSTEM_ERROR _HRESULT_TYPEDEF_(0x80096001L) // // MessageId: TRUST_E_NO_SIGNER_CERT // // MessageText: // // The certificate for the signer of the message is invalid or not found. // #define TRUST_E_NO_SIGNER_CERT _HRESULT_TYPEDEF_(0x80096002L) // // MessageId: TRUST_E_COUNTER_SIGNER // // MessageText: // // One of the counter signers was invalid. // #define TRUST_E_COUNTER_SIGNER _HRESULT_TYPEDEF_(0x80096003L) // // MessageId: TRUST_E_CERT_SIGNATURE // // MessageText: // // The signature of the certificate can not be verified. // #define TRUST_E_CERT_SIGNATURE _HRESULT_TYPEDEF_(0x80096004L) // // MessageId: TRUST_E_TIME_STAMP // // MessageText: // // The time stamp signer and or certificate could not be verified or is malformed. // #define TRUST_E_TIME_STAMP _HRESULT_TYPEDEF_(0x80096005L) // // MessageId: TRUST_E_BAD_DIGEST // // MessageText: // // The objects digest did not verify. // #define TRUST_E_BAD_DIGEST _HRESULT_TYPEDEF_(0x80096010L) // // MessageId: TRUST_E_BASIC_CONSTRAINTS // // MessageText: // // The cerficates basic constraints are invalid or missing. // #define TRUST_E_BASIC_CONSTRAINTS _HRESULT_TYPEDEF_(0x80096019L) // // MessageId: TRUST_E_FINANCIAL_CRITERIA // // MessageText: // // The certificate does not meet or contain the Authenticode financial extensions. // #define TRUST_E_FINANCIAL_CRITERIA _HRESULT_TYPEDEF_(0x8009601EL) #define NTE_OP_OK 0 // // Note that additional FACILITY_SSPI errors are in issperr.h // // ****************** // FACILITY_CERT // ****************** // // MessageId: TRUST_E_PROVIDER_UNKNOWN // // MessageText: // // The specified trust provider is not known on this system. // #define TRUST_E_PROVIDER_UNKNOWN _HRESULT_TYPEDEF_(0x800B0001L) // // MessageId: TRUST_E_ACTION_UNKNOWN // // MessageText: // // The trust verification action specified is not supported by the specified trust provider. // #define TRUST_E_ACTION_UNKNOWN _HRESULT_TYPEDEF_(0x800B0002L) // // MessageId: TRUST_E_SUBJECT_FORM_UNKNOWN // // MessageText: // // The form specified for the subject is not one supported or known by the specified trust provider. // #define TRUST_E_SUBJECT_FORM_UNKNOWN _HRESULT_TYPEDEF_(0x800B0003L) // // MessageId: TRUST_E_SUBJECT_NOT_TRUSTED // // MessageText: // // The subject is not trusted for the specified action. // #define TRUST_E_SUBJECT_NOT_TRUSTED _HRESULT_TYPEDEF_(0x800B0004L) // // MessageId: DIGSIG_E_ENCODE // // MessageText: // // Error due to problem in ASN.1 encoding process. // #define DIGSIG_E_ENCODE _HRESULT_TYPEDEF_(0x800B0005L) // // MessageId: DIGSIG_E_DECODE // // MessageText: // // Error due to problem in ASN.1 decoding process. // #define DIGSIG_E_DECODE _HRESULT_TYPEDEF_(0x800B0006L) // // MessageId: DIGSIG_E_EXTENSIBILITY // // MessageText: // // Reading / writing Extensions where Attributes are appropriate, and visa versa. // #define DIGSIG_E_EXTENSIBILITY _HRESULT_TYPEDEF_(0x800B0007L) // // MessageId: DIGSIG_E_CRYPTO // // MessageText: // // Unspecified cryptographic failure. // #define DIGSIG_E_CRYPTO _HRESULT_TYPEDEF_(0x800B0008L) // // MessageId: PERSIST_E_SIZEDEFINITE // // MessageText: // // The size of the data could not be determined. // #define PERSIST_E_SIZEDEFINITE _HRESULT_TYPEDEF_(0x800B0009L) // // MessageId: PERSIST_E_SIZEINDEFINITE // // MessageText: // // The size of the indefinite-sized data could not be determined. // #define PERSIST_E_SIZEINDEFINITE _HRESULT_TYPEDEF_(0x800B000AL) // // MessageId: PERSIST_E_NOTSELFSIZING // // MessageText: // // This object does not read and write self-sizing data. // #define PERSIST_E_NOTSELFSIZING _HRESULT_TYPEDEF_(0x800B000BL) // // MessageId: TRUST_E_NOSIGNATURE // // MessageText: // // No signature was present in the subject. // #define TRUST_E_NOSIGNATURE _HRESULT_TYPEDEF_(0x800B0100L) // // MessageId: CERT_E_EXPIRED // // MessageText: // // A required certificate is not within its validity period. // #define CERT_E_EXPIRED _HRESULT_TYPEDEF_(0x800B0101L) // // MessageId: CERT_E_VALIDITYPERIODNESTING // // MessageText: // // The validity periods of the certification chain do not nest correctly. // #define CERT_E_VALIDITYPERIODNESTING _HRESULT_TYPEDEF_(0x800B0102L) // // MessageId: CERT_E_ROLE // // MessageText: // // A certificate that can only be used as an end-entity is being used as a CA or visa versa. // #define CERT_E_ROLE _HRESULT_TYPEDEF_(0x800B0103L) // // MessageId: CERT_E_PATHLENCONST // // MessageText: // // A path length constraint in the certification chain has been violated. // #define CERT_E_PATHLENCONST _HRESULT_TYPEDEF_(0x800B0104L) // // MessageId: CERT_E_CRITICAL // // MessageText: // // An extension of unknown type that is labeled 'critical' is present in a certificate. // #define CERT_E_CRITICAL _HRESULT_TYPEDEF_(0x800B0105L) // // MessageId: CERT_E_PURPOSE // // MessageText: // // A certificate is being used for a purpose other than that for which it is permitted. // #define CERT_E_PURPOSE _HRESULT_TYPEDEF_(0x800B0106L) // // MessageId: CERT_E_ISSUERCHAINING // // MessageText: // // A parent of a given certificate in fact did not issue that child certificate. // #define CERT_E_ISSUERCHAINING _HRESULT_TYPEDEF_(0x800B0107L) // // MessageId: CERT_E_MALFORMED // // MessageText: // // A certificate is missing or has an empty value for an important field, such as a subject or issuer name. // #define CERT_E_MALFORMED _HRESULT_TYPEDEF_(0x800B0108L) // // MessageId: CERT_E_UNTRUSTEDROOT // // MessageText: // // A certification chain processed correctly, but terminated in a root certificate which isn't trusted by the trust provider. // #define CERT_E_UNTRUSTEDROOT _HRESULT_TYPEDEF_(0x800B0109L) // // MessageId: CERT_E_CHAINING // // MessageText: // // A chain of certs didn't chain as they should in a certain application of chaining. // #define CERT_E_CHAINING _HRESULT_TYPEDEF_(0x800B010AL) // // MessageId: TRUST_E_FAIL // // MessageText: // // Generic Trust Failure. // #define TRUST_E_FAIL _HRESULT_TYPEDEF_(0x800B010BL) // // MessageId: CERT_E_REVOKED // // MessageText: // // A certificate was explicitly revoked by its issuer. // #define CERT_E_REVOKED _HRESULT_TYPEDEF_(0x800B010CL) // // MessageId: CERT_E_UNTRUSTEDTESTROOT // // MessageText: // // The root certificate is a testing certificate and the policy settings disallow test certificates. // #define CERT_E_UNTRUSTEDTESTROOT _HRESULT_TYPEDEF_(0x800B010DL) // // MessageId: CERT_E_REVOCATION_FAILURE // // MessageText: // // The revocation process could not continue - the certificate(s) could not be checked. // #define CERT_E_REVOCATION_FAILURE _HRESULT_TYPEDEF_(0x800B010EL) // // MessageId: CERT_E_CN_NO_MATCH // // MessageText: // // The certificate's CN name does not match the passed value. // #define CERT_E_CN_NO_MATCH _HRESULT_TYPEDEF_(0x800B010FL) // // MessageId: CERT_E_WRONG_USAGE // // MessageText: // // The certificate is not valid for the requested usage. // #define CERT_E_WRONG_USAGE _HRESULT_TYPEDEF_(0x800B0110L) // ***************** // FACILITY_SETUPAPI // ***************** // // Since these error codes aren't in the standard Win32 range (i.e., 0-64K), define a // macro to map either Win32 or SetupAPI error codes into an HRESULT. // #define HRESULT_FROM_SETUPAPI(x) ((((x) & (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) == (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) \ ? ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_SETUPAPI << 16) | 0x80000000)) \ : HRESULT_FROM_WIN32(x)) // // MessageId: SPAPI_E_EXPECTED_SECTION_NAME // // MessageText: // // A non-empty line was encountered in the INF before the start of a section. // #define SPAPI_E_EXPECTED_SECTION_NAME _HRESULT_TYPEDEF_(0x800F0000L) // // MessageId: SPAPI_E_BAD_SECTION_NAME_LINE // // MessageText: // // A section name marker in the INF is not complete, or does not exist on a line by itself. // #define SPAPI_E_BAD_SECTION_NAME_LINE _HRESULT_TYPEDEF_(0x800F0001L) // // MessageId: SPAPI_E_SECTION_NAME_TOO_LONG // // MessageText: // // An INF section was encountered whose name exceeds the maximum section name length. // #define SPAPI_E_SECTION_NAME_TOO_LONG _HRESULT_TYPEDEF_(0x800F0002L) // // MessageId: SPAPI_E_GENERAL_SYNTAX // // MessageText: // // The syntax of the INF is invalid. // #define SPAPI_E_GENERAL_SYNTAX _HRESULT_TYPEDEF_(0x800F0003L) // // MessageId: SPAPI_E_WRONG_INF_STYLE // // MessageText: // // The style of the INF is different than what was requested. // #define SPAPI_E_WRONG_INF_STYLE _HRESULT_TYPEDEF_(0x800F0100L) // // MessageId: SPAPI_E_SECTION_NOT_FOUND // // MessageText: // // The required section was not found in the INF. // #define SPAPI_E_SECTION_NOT_FOUND _HRESULT_TYPEDEF_(0x800F0101L) // // MessageId: SPAPI_E_LINE_NOT_FOUND // // MessageText: // // The required line was not found in the INF. // #define SPAPI_E_LINE_NOT_FOUND _HRESULT_TYPEDEF_(0x800F0102L) // // MessageId: SPAPI_E_NO_ASSOCIATED_CLASS // // MessageText: // // The INF or the device information set or element does not have an associated install class. // #define SPAPI_E_NO_ASSOCIATED_CLASS _HRESULT_TYPEDEF_(0x800F0200L) // // MessageId: SPAPI_E_CLASS_MISMATCH // // MessageText: // // The INF or the device information set or element does not match the specified install class. // #define SPAPI_E_CLASS_MISMATCH _HRESULT_TYPEDEF_(0x800F0201L) // // MessageId: SPAPI_E_DUPLICATE_FOUND // // MessageText: // // An existing device was found that is a duplicate of the device being manually installed. // #define SPAPI_E_DUPLICATE_FOUND _HRESULT_TYPEDEF_(0x800F0202L) // // MessageId: SPAPI_E_NO_DRIVER_SELECTED // // MessageText: // // There is no driver selected for the device information set or element. // #define SPAPI_E_NO_DRIVER_SELECTED _HRESULT_TYPEDEF_(0x800F0203L) // // MessageId: SPAPI_E_KEY_DOES_NOT_EXIST // // MessageText: // // The requested device registry key does not exist. // #define SPAPI_E_KEY_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0x800F0204L) // // MessageId: SPAPI_E_INVALID_DEVINST_NAME // // MessageText: // // The device instance name is invalid. // #define SPAPI_E_INVALID_DEVINST_NAME _HRESULT_TYPEDEF_(0x800F0205L) // // MessageId: SPAPI_E_INVALID_CLASS // // MessageText: // // The install class is not present or is invalid. // #define SPAPI_E_INVALID_CLASS _HRESULT_TYPEDEF_(0x800F0206L) // // MessageId: SPAPI_E_DEVINST_ALREADY_EXISTS // // MessageText: // // The device instance cannot be created because it already exists. // #define SPAPI_E_DEVINST_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x800F0207L) // // MessageId: SPAPI_E_DEVINFO_NOT_REGISTERED // // MessageText: // // The operation cannot be performed on a device information element that has not been registered. // #define SPAPI_E_DEVINFO_NOT_REGISTERED _HRESULT_TYPEDEF_(0x800F0208L) // // MessageId: SPAPI_E_INVALID_REG_PROPERTY // // MessageText: // // The device property code is invalid. // #define SPAPI_E_INVALID_REG_PROPERTY _HRESULT_TYPEDEF_(0x800F0209L) // // MessageId: SPAPI_E_NO_INF // // MessageText: // // The INF from which a driver list is to be built does not exist. // #define SPAPI_E_NO_INF _HRESULT_TYPEDEF_(0x800F020AL) // // MessageId: SPAPI_E_NO_SUCH_DEVINST // // MessageText: // // The device instance does not exist in the hardware tree. // #define SPAPI_E_NO_SUCH_DEVINST _HRESULT_TYPEDEF_(0x800F020BL) // // MessageId: SPAPI_E_CANT_LOAD_CLASS_ICON // // MessageText: // // The icon representing this install class cannot be loaded. // #define SPAPI_E_CANT_LOAD_CLASS_ICON _HRESULT_TYPEDEF_(0x800F020CL) // // MessageId: SPAPI_E_INVALID_CLASS_INSTALLER // // MessageText: // // The class installer registry entry is invalid. // #define SPAPI_E_INVALID_CLASS_INSTALLER _HRESULT_TYPEDEF_(0x800F020DL) // // MessageId: SPAPI_E_DI_DO_DEFAULT // // MessageText: // // The class installer has indicated that the default action should be performed for this installation request. // #define SPAPI_E_DI_DO_DEFAULT _HRESULT_TYPEDEF_(0x800F020EL) // // MessageId: SPAPI_E_DI_NOFILECOPY // // MessageText: // // The operation does not require any files to be copied. // #define SPAPI_E_DI_NOFILECOPY _HRESULT_TYPEDEF_(0x800F020FL) // // MessageId: SPAPI_E_INVALID_HWPROFILE // // MessageText: // // The specified hardware profile does not exist. // #define SPAPI_E_INVALID_HWPROFILE _HRESULT_TYPEDEF_(0x800F0210L) // // MessageId: SPAPI_E_NO_DEVICE_SELECTED // // MessageText: // // There is no device information element currently selected for this device information set. // #define SPAPI_E_NO_DEVICE_SELECTED _HRESULT_TYPEDEF_(0x800F0211L) // // MessageId: SPAPI_E_DEVINFO_LIST_LOCKED // // MessageText: // // The operation cannot be performed because the device information set is locked. // #define SPAPI_E_DEVINFO_LIST_LOCKED _HRESULT_TYPEDEF_(0x800F0212L) // // MessageId: SPAPI_E_DEVINFO_DATA_LOCKED // // MessageText: // // The operation cannot be performed because the device information element is locked. // #define SPAPI_E_DEVINFO_DATA_LOCKED _HRESULT_TYPEDEF_(0x800F0213L) // // MessageId: SPAPI_E_DI_BAD_PATH // // MessageText: // // The specified path does not contain any applicable device INFs. // #define SPAPI_E_DI_BAD_PATH _HRESULT_TYPEDEF_(0x800F0214L) // // MessageId: SPAPI_E_NO_CLASSINSTALL_PARAMS // // MessageText: // // No class installer parameters have been set for the device information set or element. // #define SPAPI_E_NO_CLASSINSTALL_PARAMS _HRESULT_TYPEDEF_(0x800F0215L) // // MessageId: SPAPI_E_FILEQUEUE_LOCKED // // MessageText: // // The operation cannot be performed because the file queue is locked. // #define SPAPI_E_FILEQUEUE_LOCKED _HRESULT_TYPEDEF_(0x800F0216L) // // MessageId: SPAPI_E_BAD_SERVICE_INSTALLSECT // // MessageText: // // A service installation section in this INF is invalid. // #define SPAPI_E_BAD_SERVICE_INSTALLSECT _HRESULT_TYPEDEF_(0x800F0217L) // // MessageId: SPAPI_E_NO_CLASS_DRIVER_LIST // // MessageText: // // There is no class driver list for the device information element. // #define SPAPI_E_NO_CLASS_DRIVER_LIST _HRESULT_TYPEDEF_(0x800F0218L) // // MessageId: SPAPI_E_NO_ASSOCIATED_SERVICE // // MessageText: // // The installation failed because a function driver was not specified for this device instance. // #define SPAPI_E_NO_ASSOCIATED_SERVICE _HRESULT_TYPEDEF_(0x800F0219L) // // MessageId: SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE // // MessageText: // // There is presently no default device interface designated for this interface class. // #define SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE _HRESULT_TYPEDEF_(0x800F021AL) // // MessageId: SPAPI_E_DEVICE_INTERFACE_ACTIVE // // MessageText: // // The operation cannot be performed because the device interface is currently active. // #define SPAPI_E_DEVICE_INTERFACE_ACTIVE _HRESULT_TYPEDEF_(0x800F021BL) // // MessageId: SPAPI_E_DEVICE_INTERFACE_REMOVED // // MessageText: // // The operation cannot be performed because the device interface has been removed from the system. // #define SPAPI_E_DEVICE_INTERFACE_REMOVED _HRESULT_TYPEDEF_(0x800F021CL) // // MessageId: SPAPI_E_BAD_INTERFACE_INSTALLSECT // // MessageText: // // An interface installation section in this INF is invalid. // #define SPAPI_E_BAD_INTERFACE_INSTALLSECT _HRESULT_TYPEDEF_(0x800F021DL) // // MessageId: SPAPI_E_NO_SUCH_INTERFACE_CLASS // // MessageText: // // This interface class does not exist in the system. // #define SPAPI_E_NO_SUCH_INTERFACE_CLASS _HRESULT_TYPEDEF_(0x800F021EL) // // MessageId: SPAPI_E_INVALID_REFERENCE_STRING // // MessageText: // // The reference string supplied for this interface device is invalid. // #define SPAPI_E_INVALID_REFERENCE_STRING _HRESULT_TYPEDEF_(0x800F021FL) // // MessageId: SPAPI_E_INVALID_MACHINENAME // // MessageText: // // The specified machine name does not conform to UNC naming conventions. // #define SPAPI_E_INVALID_MACHINENAME _HRESULT_TYPEDEF_(0x800F0220L) // // MessageId: SPAPI_E_REMOTE_COMM_FAILURE // // MessageText: // // A general remote communication error occurred. // #define SPAPI_E_REMOTE_COMM_FAILURE _HRESULT_TYPEDEF_(0x800F0221L) // // MessageId: SPAPI_E_MACHINE_UNAVAILABLE // // MessageText: // // The machine selected for remote communication is not available at this time. // #define SPAPI_E_MACHINE_UNAVAILABLE _HRESULT_TYPEDEF_(0x800F0222L) // // MessageId: SPAPI_E_NO_CONFIGMGR_SERVICES // // MessageText: // // The Plug and Play service is not available on the remote machine. // #define SPAPI_E_NO_CONFIGMGR_SERVICES _HRESULT_TYPEDEF_(0x800F0223L) // // MessageId: SPAPI_E_INVALID_PROPPAGE_PROVIDER // // MessageText: // // The property page provider registry entry is invalid. // #define SPAPI_E_INVALID_PROPPAGE_PROVIDER _HRESULT_TYPEDEF_(0x800F0224L) // // MessageId: SPAPI_E_NO_SUCH_DEVICE_INTERFACE // // MessageText: // // The requested device interface is not present in the system. // #define SPAPI_E_NO_SUCH_DEVICE_INTERFACE _HRESULT_TYPEDEF_(0x800F0225L) // // MessageId: SPAPI_E_DI_POSTPROCESSING_REQUIRED // // MessageText: // // The device's co-installer has additional work to perform after installation is complete. // #define SPAPI_E_DI_POSTPROCESSING_REQUIRED _HRESULT_TYPEDEF_(0x800F0226L) // // MessageId: SPAPI_E_INVALID_COINSTALLER // // MessageText: // // The device's co-installer is invalid. // #define SPAPI_E_INVALID_COINSTALLER _HRESULT_TYPEDEF_(0x800F0227L) // // MessageId: SPAPI_E_NO_COMPAT_DRIVERS // // MessageText: // // There are no compatible drivers for this device. // #define SPAPI_E_NO_COMPAT_DRIVERS _HRESULT_TYPEDEF_(0x800F0228L) // // MessageId: SPAPI_E_NO_DEVICE_ICON // // MessageText: // // There is no icon that represents this device or device type. // #define SPAPI_E_NO_DEVICE_ICON _HRESULT_TYPEDEF_(0x800F0229L) // // MessageId: SPAPI_E_INVALID_INF_LOGCONFIG // // MessageText: // // A logical configuration specified in this INF is invalid. // #define SPAPI_E_INVALID_INF_LOGCONFIG _HRESULT_TYPEDEF_(0x800F022AL) // // MessageId: SPAPI_E_DI_DONT_INSTALL // // MessageText: // // The class installer has denied the request to install or upgrade this device. // #define SPAPI_E_DI_DONT_INSTALL _HRESULT_TYPEDEF_(0x800F022BL) // // MessageId: SPAPI_E_INVALID_FILTER_DRIVER // // MessageText: // // One of the filter drivers installed for this device is invalid. // #define SPAPI_E_INVALID_FILTER_DRIVER _HRESULT_TYPEDEF_(0x800F022CL) // // MessageId: SPAPI_E_ERROR_NOT_INSTALLED // // MessageText: // // No installed components were detected. // #define SPAPI_E_ERROR_NOT_INSTALLED _HRESULT_TYPEDEF_(0x800F1000L) // // MessageId: CERTSRV_E_BAD_REQUESTSUBJECT // // MessageText: // // The request subject name is invalid or too long. // #define CERTSRV_E_BAD_REQUESTSUBJECT _HRESULT_TYPEDEF_(0x80094001L) // // MessageId: CERTSRV_E_NO_REQUEST // // MessageText: // // The request does not exist. // #define CERTSRV_E_NO_REQUEST _HRESULT_TYPEDEF_(0x80094002L) // // MessageId: CERTSRV_E_BAD_REQUESTSTATUS // // MessageText: // // The request's current status does not allow this operation. // #define CERTSRV_E_BAD_REQUESTSTATUS _HRESULT_TYPEDEF_(0x80094003L) // // MessageId: TRUST_E_SYSTEM_ERROR // // MessageText: // // A system-level error occured while verifying trust. // #define TRUST_E_SYSTEM_ERROR _HRESULT_TYPEDEF_(0x80096001L) // // MessageId: TRUST_E_NO_SIGNER_CERT // // MessageText: // // The certificate for the signer of the message is invalid or not found. // #define TRUST_E_NO_SIGNER_CERT _HRESULT_TYPEDEF_(0x80096002L) // // MessageId: TRUST_E_COUNTER_SIGNER // // MessageText: // // One of the counter signers was invalid. // #define TRUST_E_COUNTER_SIGNER _HRESULT_TYPEDEF_(0x80096003L) // // MessageId: TRUST_E_CERT_SIGNATURE // // MessageText: // // The signature of the certificate can not be verified. // #define TRUST_E_CERT_SIGNATURE _HRESULT_TYPEDEF_(0x80096004L) // // MessageId: TRUST_E_TIME_STAMP // // MessageText: // // The time stamp signer and or certificate could not be verified or is malformed. // #define TRUST_E_TIME_STAMP _HRESULT_TYPEDEF_(0x80096005L) // // MessageId: TRUST_E_BAD_DIGEST // // MessageText: // // The objects digest did not verify. // #define TRUST_E_BAD_DIGEST _HRESULT_TYPEDEF_(0x80096010L) // // MessageId: TRUST_E_BASIC_CONSTRAINTS // // MessageText: // // The cerficates basic constraints are invalid or missing. // #define TRUST_E_BASIC_CONSTRAINTS _HRESULT_TYPEDEF_(0x80096019L) // // MessageId: TRUST_E_FINANCIAL_CRITERIA // // MessageText: // // The certificate does not meet or contain the Authenticode financial extensions. // #define TRUST_E_FINANCIAL_CRITERIA _HRESULT_TYPEDEF_(0x8009601EL) #define NTE_OP_OK 0 // // Note that additional FACILITY_SSPI errors are in issperr.h //