Error Codes (Windows Media Device Manager 11 SDK)

Windows Media Device Manager methods can return a variety of error codes. Some of these are specific to the Windows Media Device Manager, while others are defined by other SDKs or porting kits used to build a device and bubbled up to the Windows Media Device Manager methods. This section describes the various error codes that can be returned by Windows Media technologies, organized by origin.

Windows Media Device Manager Error Codes

The following error codes are defined by the Windows Media Device Manager SDK.

SymbolicCodeDescription
WMDM_E_BUFFERTOOSMALLThe buffer supplied by the caller is too small. The client should increase the size of the buffer and retry the call.
WMDM_E_BUSYThe device is busy and cannot satisfy the new request.
WMDM_E_CALL_OUT_OF_SEQUENCEOperations were called in the wrong order. (For example, calling Read without Open.)
WMDM_E_INCORRECT_APPSECThe minimum level of application security is not correct. This can be caused if a device's key/certificate pair is not a high enough security level.
WMDM_E_CANTOPEN_PMSN_SERVICE_PIPEPMSN service pipe cannot be opened.
WMDM_E_INCORRECT_RIGHTSThe rights for a file are not correct.
WMDM_E_INTERFACEDEADThe object has disconnected itself from the clients.
WMDM_E_INVALIDTYPEThe type is not valid.
WMDM_E_LICENSE_EXPIREDThe license has expired.
WMDM_E_LICENSE_NOTEXISTThe license does not exist.
WMDM_E_MAC_CHECK_FAILEDThe message authentication code check failed.
WMDM_E_MOREDATAThere is more data.
WMDM_E_NORIGHTSThe caller does not have rights for this operation.
WMDM_E_NOTCERTIFIEDThe caller is not authenticated to make this call.
WMDM_E_NOTSUPPORTEDThis operation is not supported.
WMDM_E_PROCESSFAILEDThe process failed.
WMDM_E_REVOKEDThe license has been revoked.
WMDM_E_SDMI_NOMORECOPIESNo more copies can be made per SDMI compliance.
WMDM_E_SDMI_TRIGGERSDMI validation failed.
WMDM_E_TOO_MANY_SESSIONSToo many sessions exist.
WMDM_E_USER_CANCELLEDThe user cancelled the operation.
DRM_FAILED0The operation failed.
DRM_SUCCEEDED0The operation completed successfully.
DRM_SUCCESS0x00000000The operation completed successfully.
DRM_S_FALSE0x00000001The method succeeded and returned the Boolean value FALSE .
DRM_E_FAIL0x80004005An unspecified failure has occurred.
DRM_E_INVALIDARG0x80070057A parameter is not valid or is a NULL pointer.
DRM_E_OUTOFMEMORY0x80000002The method failed to allocate the necessary memory.
DRM_E_FILENOTFOUND0x80030002The system cannot find the file specified.
DRM_E_BUFFERTOOSMALL0x8007007AA buffer is too small for the data.
DRM_E_NOTIMPL0x80004001Not implemented.
DRM_E_NOMORE0x80070103The end of the enumeration, or no more data available.
DRM_E_ARITHMETIC_OVERFLOW0x8007534An arithmetic operation resulted in overflow (loss of important bits).
DRM_E_ALGORITHMNOTSET0x8004c017The encryption algorithm required for this operation is not supported.
DRM_E_APPCERT_REVOKED0x8004C053The application certificate given to DRM is revoked.
DRM_E_BACKUP_EXISTS0x8004c032The backup file already exists.
DRM_E_CH_ATTR_MISSING0x80041107A content header attribute is missing.
DRM_E_CH_BAD_KEY0x8004110EA key is not valid.
DRM_E_CH_CHECKSUM_MISSING0x80041106The content header checksum is missing.
DRM_E_CH_INVALID_HEADER0x80041108The content header is not valid.
DRM_E_CH_KID_MISSING0x80041104The KID attribute is missing from the content header.
DRM_E_CH_LAINFO_MISSING0x80041105The LAINFO attribute is mising from the content header.
DRM_E_CH_NOT_SIGNED0x80041113The header was not signed.
DRM_E_CH_UNABLE_TO_VERIFY0x8004110AThe signature of the content header cannot be verified.
DRM_E_CH_UNKNOWN_ERROR0x80041116An unknown error occurred.
DRM_E_CH_UNSUPPORTED_HASH_ALGORITHM0x8004110CThe hash algorithm is not supported.
DRM_E_CH_UNSUPPORTED_SIGN_ALGORITHM0x8004110DThe signature algorithm is not supported.
DRM_E_CH_UNSUPPORTED_VERSION0x8004110BThe content header version is not supported.
DRM_E_CH_VERSION_MISSING0x80041103The content header version is missing.
DRM_E_CIPHER_NOTINITIALIZED0x800480D2The DRM Cipher routines were not correctly initialized before calling the encryption/decryption routines.
DRM_E_CLIENTTIMEINVALID0x8004c01cThe time/clock on the device is not synchronized with the license server within tolerance.
DRM_E_CLK_INVALID_DATE0x8004c040The secure clock response is not valid.
DRM_E_CLK_INVALID_RESPONSE0x8004c03fThe secure clock response is not valid.
DRM_E_CLK_NOT_SET0x8004C05BA license may exist but cannot be used because the secure clock is not set.
DRM_E_CLK_NOT_SUPPORTED0x8004c04aThe secure clock is not supported.
DRM_E_CLK_RESETSTATEREADERROR0x8004c04dThe secure clock Reset State cannot be read.
DRM_E_CLK_RESETSTATEWRITEERROR0x8004c04eThe secure clock Reset State cannot be written.
DRM_E_CLK_UNSUPPORTED_VALUE0x8004c041The secure clock response contains an unsupported value.
DRM_E_CONDITIONFAIL0x8004c007A condition in the license failed to pass.
DRM_E_CONDITIONNOTSUPPORTED0x8004c008A condition in the license is not supported by this version of DRM.
DRM_E_CRYPTO_FAILED0x8004C054A cryptographic operation failed.
DRM_E_DECRYPT_NOTINITIALIZED0x800480D3The DRM decryption routines were not correctly initialized before trying to decrypt data.
DRM_E_DEVCERTEXCEEDSSIZELIMIT0x8004c043The device certificate exceeds the maximum size.
DRM_E_DEVCERTINDIV_NOT_SUPPORTED0x8004c04bDevice certificate individualization is not supported.
DRM_E_DEVCERTREADERROR0x8004c045The device certificate cannot be read.
DRM_E_DEVCERTTEMPLATEEXCEEDSSIZELIMIT0x8004c044The device certificate template exceeds the maximum size.
DRM_E_DEVCERTTEMPLATEREADERROR0x8004c049The device certificate template cannot be read.
DRM_E_DEVCERTWRITEERROR0x8004c046The device certificate cannot be stored.
DRM_E_DEVICENOTINIT0x8004c001This device has not been initialized against a DRM initialization service.
DRM_E_DRMNOTINIT0x8004c002The application did not call DRM_MGR_Initialize properly.
DRM_E_DUPLICATEDHEADERATTRIBUTE0x8004c02dThe header contains a duplicate attribute.
DRM_E_FILEREADERROR0x8004c01aThere was an error reading a file.
DRM_E_FILESEEKERROR0x8004c037There was an error seeking in a file.
DRM_E_FILEWRITEERROR0x8004c01bThere was an error writing a file.
DRM_E_HASHMISMATCH0x8004c010A keyed hash check failed.
DRM_E_HDSBLOCKMISMATCH0x8004c031The Checksum attribute is missing from the header.
DRM_E_HDSEXCLUSIVELOCKONLY0x8004c039Only exclusive lock is accepted.
DRM_E_HDSFILECORRUPTED0x8004c026The HDS file is corrupted.
DRM_E_HDSFILEEXISTS0x8004c034The HDS file already exists.
DRM_E_HDSLOCKFAILED0x8004c036Locking a segment of the HDS file failed.
DRM_E_HDSNAMESPACEFULL0x8004c022The HDS namespace is full.
DRM_E_HDSNAMESPACEINUSE0x8004c028No HDS namespace in is in use.
DRM_E_HDSNAMESPACENOTFOUND0x8004c023No HDS namespace can be found.
DRM_E_HDSNOTLOCKEDEXCLUSIVE0x8004c038The existing lock is not exclusive.
DRM_E_HDSRESERVEDKEYDETECTED0x8004c03AAn HDS reserved key value was detected in UniqueKey.
DRM_E_HDSSEEKERROR0x8004c027There was an error attempting to seek in the HDS file.
DRM_E_HDSSLOTEXIST0x8004c025No HDS dataslot exists.
DRM_E_HDSSLOTNOTFOUND0x8004c024The HDS dataslot cannot be found.
DRM_E_HDSSTOREFULL0x8004c01dThe HDS data file is full.
DRM_E_HEADER_NOT_SET0x8004c03CA V2 content header is not set
DRM_E_INCOMPATABLELICENSESIZE0x8004c004The size of the license is incompatible. DRM does not understand this license.
DRM_E_INVALID_SECURESTORE_PASSWORD0x8004c029The password used to open the secure store key was not able to validate the secure store hash.
DRM_E_INVALID_SIGNATURE0x800480CFThe license signature is not valid.
DRM_E_INVALIDBINDID0x8004c015The bind ID is not valid.
DRM_E_INVALIDDEVICECERTIFICATE0x8004c035The device certificate is not valid.
DRM_E_INVALIDDEVICECERTIFICATETEMPLATE0x8004c042The device certificate is not valid.
DRM_E_INVALIDLICENSE0x8004c006The license is not valid.
DRM_E_INVALIDLICENSEFLAGS0x8004c005The flags in the license are not valid. DRM does not understand them or they are conflicting.
DRM_E_INVALIDLICENSESTORE0x8004c019The license store version number is incorrect, or in some other way the store is not valid.
DRM_E_INVALIDRIGHT0x8004c003A right in the license in not valid.
DRM_E_INVALIDTIME0x8004c011A time structure is not valid.
DRM_E_INVALIDXMLTAG0x8004c020An XML tag is not valid.
DRM_E_KEY_MISMATCH0x80048013A public-private key pair is mismatched.
DRM_E_LIC_KEY_AND_CERT_MISMATCH0x80048013A key and a certificate are mismatched.
DRM_E_LIC_KEY_DECODE_FAILURE0x80048007A key cannot be decoded.
DRM_E_LIC_SIGNATURE_FAILURE0x80048008The license signature is not valid.
DRM_E_LICENSE_TOOLONG0x8004c032The license size is too long.
DRM_E_LICENSEEXPIRED0x8004c009The license has expired either by depleting a play count or reaching an end date.
DRM_E_LICENSEMISMATCH0x8004c00cThe license content ID or SDK ID does not match that requested by the application.
DRM_E_LICENSENOTBOUND0x8004c00fA license has not been bound to. Decryption cannot happen without a successful bind call.
DRM_E_LICENSENOTFOUND0x8004c013A license was not found in the external license store.
DRM_E_LICENSENOTYETVALID0x8004c00aThe current time is prior to the license start time, so the license is not yet valid.
DRM_E_LICENSESERVERNEEDSKEY0x8004c018The license server needs a version of the device bind key from the initialization service.
DRM_E_LICENSESTORENOTFOUND0x8004c012The external license store was not found.
DRM_E_LICENSEVERSIONNOTSUPPORTED0x8004c014The DRM license version is not supported by the DRM version on the device.
DRM_E_LOGICERR0x8004c3e8The DRM code has a logic error in it. This result should never be returned. There is an unhandled code path if it is returned
DRM_E_LRB_INVALIDLICENSEDATA0x8004c073The license revocation response is signed with a public key different from the license server's public key.
DRM_E_LRB_INVALIDSIGNATURE0x8004c071The signature in the license revocation response is not valid.
DRM_E_LRB_LGPUBKEY_MISMATCH0x8004c072The license revocation response is signed with a public key different from the license server's public key.
DRM_E_LRB_NOLGPUBKEY0x8004c070The license revocation response does not contain a valid license server public key.
DRM_E_MACHINEIDMISMATCH0x8004c03eThe device has a machine ID different from that in the device certificate.
DRM_E_METERING_INVALID_COMMAND0x8004C051An invalid command was sent when processing the metering response.
DRM_E_METERING_MID_MISMATCH0x8004C05FThe metering ID is not the same in the metering certificate and the metering response data.
DRM_E_METERING_NOT_SUPPORTED0x8004c04cMetering is not supported.
DRM_E_METERING_RESPONSE_DECRYPT_FAILED0x8004C060The encrypted section of the metering response cannot be decrypted
DRM_E_METERING_STORE_CORRUPT0x8004C052The metering store is corrupted.
DRM_E_METERING_WRONG_TID0x8004C050The metering response contains the wrong transaction ID.
DRM_E_NEEDDEVCERTINDIV0x8004c03dThe device certificate is a template. It needs to be individualized.
DRM_E_NO_CLK_SUPPORTED0x8004C05CThis device does not support any clock. So time-bound licenses cannot be played.
DRM_E_NO_URL0x8004C05DThe URL information cannot be found.
DRM_E_NOACTIONINLICENSEREQUEST0x8004c02cThe license request does not contain any actions.
DRM_E_NOCHECKSUMINHEADER0x8004c030The checksum attribute is missing from the header.
DRM_E_NOKIDINHEADER0x8004c02eThe key ID attribute is missing from the header.
DRM_E_NOLAINFOINHEADER0x8004c02fThe LAINFO attribute is missing from the header.
DRM_E_NORIGHTSREQUESTED0x8004c00eThe application did not request any rights before trying to bind.
DRM_E_NOXMLCDATA0x8004c021No XML CDATA can be found.
DRM_E_NOXMLCLOSETAG0x8004c01fAn XML close tag cannot be found.
DRM_E_NOXMLOPENTAG0x8004c01eAn XML open tag cannot be found.
DRM_E_PKCRYPTO_FAILURE0x800480D5An error occurred in an asymmetric cryptographic operation.
DRM_E_POLICY_METERING_DISABLED0x8004C059Metering code was called but metering is disabled by group or user policy.
DRM_E_POLICY_ONLINE_DISABLED0x8004C05AOnline communication is disabled by group policy.
DRM_E_PRIVKEYREADERROR0x8004c047The private key for the device cannot be read.
DRM_E_PRIVKEYWRITEERROR0x8004c048The private key for the device cannot be stored.
DRM_E_RIGHTSNOTAVAILABLE0x8004c00bThe rights requested by the application are not available in the license.
DRM_E_SECURESTORE_CORRUPT0x8004c02aThe secure store is corrupted.
DRM_E_SECURESTORE_FULL0x8004c02bThe current secure store key is full. No more data can be added.
DRM_E_SECURESTORE_LOCKNOTOBTAINED0x800480D4Before reading or writing data to the secure store in raw mode, the lock must be obtained by using DRM_SST_OpenData.
DRM_E_STACK_CORRUPT0x8004C055The stack allocator context is corrupted. This is usually caused by a buffer overrun.
DRM_E_STACKTOOSMALL0x800480D1The stack supplied to the DRM API was too small.
DRM_E_SYNC_ENTRYNOTFOUND0x800480D0The entry cannot be found in the synchronization store.
DRM_E_UNKNOWN_BINDING_KEY0x8004C056A matching binding key cannot be found for the license.
DRM_E_UNKNOWN_PROPERTY0x8004C05EA device property is unknown.
DRM_E_UNSUPPORTEDALGORITHM0x8004c016The encryption algorithm required for this operation is not supported.
DRM_E_V1_LICENSE_CHAIN_NOT_SUPPORTED0x8004C057License chaining with V1 content is not supported.
DRM_E_V1_NOT_SUPPORTED0x8004c03BV1 license acquisition is not supported.
DRM_E_WRONG_TOKEN_TYPE0x8004C058The wrong type of token was used.
DRM_E_WRONGTOKENTYPE0x8004c00dThe token parameter is of an incompatible type.
DRM_E_XMLNOTFOUND0x8004C04FA required XML tag cannot be found.
NS_E_DRM_DEBUGGING_NOT_ALLOWED0xC00D2767A command cannot be run with a debugger attached.
NS_E_NOT_LICENSED0xC00D00CDThe content is not licensed.
NS_E_DRM_LICENSE_UNUSABLE0xC00D2748The license is unusable for an unspecified reason.
161 entries

Article text from the Win32 documentation (opens in a new tab), by Microsoft, under the CC BY 4.0 (opens in a new tab) licence.