一 : Symbian OS Error Codes
Generic Errors
KErrNone | 0 | |
KErrNotFound | -1 | Unable to find the specified object |
KErrGeneral | -2 | General (unspecified) error |
KErrCancel | -3 | The operation was cancelled |
KErrNoMemory | -4 | Not enough memory |
KErrNotSupported | -5 | The operation requested is not supported |
KErrArgument | -6 | Bad request |
KErrTotalLossOfPrecision | -7 | Total loss of precision |
KErrBadHandle | -8 | Bad object |
KErrOverflow | -9 | Overflow |
KErrUnderflow | -10 | Underflow |
KErrAlreadyExists | -11 | Already exists |
KErrPathNotFound | -12 | Unable to find the specified folder |
KErrDied | -13 | Closed |
KErrInUse | -14 | The specified object is currently in use by another program |
KErrServerTerminated | -15 | Serverhas closed |
KErrServerBusy | -16 | Server busy |
KErrCompletion | -17 | Completion error |
KErrNotReady | -18 | Not ready |
KErrUnknown | -19 | Unknown error |
KErrCorrupt | -20 | Corrupt |
KErrAccessDenied | -21 | Access denied |
KErrLocked | -22 | Locked |
KErrWrite | -23 | Failed to write |
KErrDisMounted | -24 | Wrong disk present |
KErrEof | -25 | Unexpected end of file |
KErrDiskFull | -26 | Disk full |
KErrBadDriver | -27 | Bad device driver |
KErrBadName | -28 | Bad name |
KErrCommsLineFail | -29 | Comms line failed |
KErrCommsFrame | -30 | Comms frame error |
KErrCommsOverrun | -31 | Comms overrun error |
KErrCommsParity | -32 | Comms parity error |
KErrTimedOut | -33 | Timed out |
KErrCouldNotConnect | -34 | Failed to connect |
KErrCouldNotDisconnect | -35 | Failed to disconnect |
KErrDisconnected | -36 | Disconnected |
KErrBadLibraryEntryPoint | -37 | Bad library entry point |
KErrBadDescriptor | -38 | Bad descriptor |
KErrAbort | -39 | Interrupted |
KErrTooBig | -40 | Too big |
KErrDivideByZero | -41 | Divide by zero |
KErrBadPower | -42 | Batteries too low | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrDirFull | -43 | Folder full |
KErrHardwareNotAvailable | -44 | |
KErrSessionClosed | -45 | |
KErrPermissionDenied | -46 |
Email Pop Errors
KPop3CannotConnect | -170 | ThePOP3 serverrefused to allow a connection |
KPop3InvalidUser | -171 | The POP3 server refused to allow aconnection. Check your mailbox username |
KPop3InvalidLogin | -172 | ThePOP3server refused to allow a connection. Check your mailbox username and password |
KPop3CannotCreateApopLogonString | -173 | Could not create secure logon string. Mailbox server may not support secure logon |
KPop3ProblemWithRemotePopServer | -174 | Problem communicating with POP3 server |
KPop3CannotOpenServiceEntry | -175 | Panic |
KPop3CannotSetRequiredFolderContext | -176 | Panic |
KPop3InvalidApopLogin | -177 | Panic |
Email Socket Errors
KImsKErrorDNSNotFound | -180 | Could not find a DNS server. Please check the DNS address inthe internetcontrol panel |
KImsKErrorControlPanelLocked | -181 | Could not connect to internet. Please ensure the internet control panel is closed |
KImskErrorISPOrIAPRecordNotFound | -182 | |
KImskErrorActiveSettingIsDifferent | -183 | Unable to connect using the specified IAP, already connected to the Internet using a different IAP |
KImskSecuritySettingsFailed | -184 | |
Socket Errors
KErrNetUnreach | -190 | Could not connect to the network. Currently unreachable |
KErrHostUnreach | -191 | Could not connect to the specified server |
KErrNoProtocolOpt | -192 | The specified server refuses the selected protocol |
KErrUrgentData | -193 | |
KErrWouldBlock | -1000 | Conflicts with KErrExtended, but cannot occur in practice |
EMail IMAP Errors
KErrImapConnectFail | -200 | Could not connect to IMAP4 server |
KErrImapServerFail | -201 | The connection to the IMAP4 server has been broken |
KErrImapServerParse | -202 | |
KErrImapServerBusy | -203 | The IMAP4 server refused to allow connection. The server is currently busy |
KErrImapServerVersion | -204 | Could not connect to the IMAP server. The IMAP server is of the wrong version |
KErrImapSendFail | -205 | Could not transmit to the IMAP4 server |
KErrImapBadLogon | -206 | The IMAP4 server refused to allow a connection. Check your mailbox username and password |
KErrImapSelectFail | -207 | |
KErrImapWrongFolder | -208 | Could not select an IMAP4 folder |
KErrImapServerNoSecurity | -209 | |
KErrImapServerLoginDisabled | -210 | Login for this IMAP4 server has been disabled | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrImapTLSNegotiateFailed | -211 | A secure connection cannot be made to this server |
KErrImapCantDeleteFolder | -212 | This folder cannot be deleted |
KDmssUnknownErr | -221 | |
KDmssMailboxUnavailableErr | -222 | |
KDmssActionAbortedErr | -223 | |
KDmssActionNotTakenErr | -224 | |
KDmssCmdUnrecognisedErr | -225 | |
KDmssSyntaxErrorErr | -226 | |
KDmssCmdNotImplementedErr | -227 | |
KDmssBadSequenceErr | -228 | |
KDmssParamNotImplementedErr | -229 | |
KDmssMailboxNoAccessErr | -230 | |
KDmssExceededStorageErr | -231 | |
KDmssMailboxNameErr | -232 | |
KDmssTransactionFailedErr | -233 | |
KDmssTimeOutErr | -234 | |
Email SMTP Error
KSmtpNoMailFromErr | -240 | Could not send email due to an invalid return email address. Check your email address in your account settings |
KSmtpUnknownErr | -241 | Problem while sending email |
KSmtpBadMailFromAddress | -242 | Email message has an invalid "From" address |
KSmtpBadRcptToAddress | -243 | Email message has an invalid "To", "Cc" or "Bcc" address |
KSmtpLoginRefused | -244 | SMTP server refused to allow connection |
KSmtpNoMsgsToSendWithActiveSettings | -245 | Could not send email. The messages are destined for an account different from the currently connected one. |
KErrSmtpTLSNegotiateFailed | -246 | Secure connection failed. Server may not accept secure connections or certificates may be expired. |
KImcmHTMLPartNotPopulated | -250 | |
KImcmInvalidMessageStructure | -251 | |
KErrPop3TLSNegotiateFailed | -260 | |
BIO messaging
KBspInvalidMessage | -500 | "Corrupt message cannot be read." |
KBspSmartMessageInvalidToken | -501 | "Corrupt message cannot be read." |
KBspSmartMessageNoParserDefined | -502 | "Unknown message type cannot be read." |
KIacpUnknownSmsType | -510 | "Left token not starting with neither ’M’ nor ’I’." |
KIacpBIOMsgTypeNotSupported | -511 | "This Bio msg is not suppported.." |
KiacpMandatoryDataNotSet | -512 | "A mandatory Field/Value has not been found in SMS message." |
KIacpUnknownMailProtocol | -513 | "Mailbox configuration message refers to an unknown protocol." |
KIacpErrRightToken | -514 | "Improper right token i.e not equal t/f (True/False)." |
KIacpErrLeftToken | -515 | "Unknown Left Token i.e not starting with ’M’ for Mail or ’I’ for Internet configuration" |
KIacpErrSmsDataNotParsed | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-516 | "Sms data should be parsed before commiting." |
KIacpErrSmsDataNotRestored | -517 | "Sms data should be parsed before commiting." |
KIacpScriptErrISPNotFound | -518 | "Mailbox configuration message specifies an unknown Internet Access Point." |
KIacpErrScriptNotDefined | -519 | "Script not included in sms." |
KIacpErrScriptNotFoundInDB | -520 | "There is no script in DB to append to.." |
KIacpErrScriptAlreadyAdd | -521 | "Script cannot be add more than ounce for a each Bio Msg." |
WAP
KWappErrXmlVer | -601 | "Wrong XML version" |
KWappErrOutbound | -602 | "Index in exceeds boundaries" |
KWappErrStringTable | -603 | "Bad String table reference" |
KWappErrEOS | -604 | "Reached the end of a key descriptor" |
KWappErrUnexpectedValue | -605 | "Expecting a different tag or content/attributes" |
KWappErrNoAttributes | -606 | "Expecting attributes- missing" |
KWappErrMandatoryTagMissing | -607 | "Search for a mandatory tag failed" |
KWappErrStoreNotFound | -608 | "No store attached to this entry" |
KWappErrMsgUnparsed | -609 | "Trying to process a message which is unparsed" |
KWappErrUnrecognised | -610 | "Token or string is not a recognised value" |
KWappErrNullValue | -611 | "Variable is null or has not been intialised" |
KWappErrContent | -612 | "Empty element, particularly a problem if it’s an empty characteristic- has no PARMS" |
KWappErrNoDBRecords | -613 | "Could not find a first record in the COMMDB" |
KWappErrNotSupported | -614 | "Not Supported - WAP specific" |
KWappErrBadMessage | -615 | "Data content/format of message is invalid" |
KWappErrNoTermination | -616 | "Terminating byte missing from string or data element." |
More Wap errors can be found in the ranges -5300..-5500 and -10000..-10025. See below.
BAFL
KErrExtended | -1000 |
KErrExtendedWithText | -1001 |
KLeaveWithoutAlert | -1002 |
KLeaveExit | -1003 |
ETEL Errors
KErrEtelNotCallOwner | -2000 | |
KErrEtelDuplicatePhoneName | -2001 | |
KErrEtelAlreadyCallOwner | -2002 | |
KErrEtelNoCarrier | -2003 | "Problem communicating receiving device. Call was unexpectedly dropped" |
KErrEtelBusyDetected | -2004 | "Phone number is busy. Wait before trying again" |
KErrEtelNoClientInterestedInThisCall | -2005 | |
KErrEtelInitialisationFailure | -2006 | |
KErrEtelCallNotActive | -2007 | |
KErrEtelNoAnswer | -2008 | "Call was not answered" |
KErrEtelNoDialTone | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-2009 | |
KErrEtelConfigPortFailure | -2010 | |
KErrEtelFaxChunkNotCreated | -2011 | |
KErrEtelNotFaxOwner | -2012 | |
KErrEtelPortNotLoanedToClient | -2013 | |
KErrEtelWrongModemType | -2014 | |
KErrEtelUnknownModemCapability | -2015 | |
KErrEtelAnswerAlreadyOutstanding | -2016 | |
KErrEtelModemNotDetected | -2017 | "Phone is turned off or not ready. Check phone and try again" |
KErrEtelModemSettingsCorrupt | -2018 | |
KErrEtelPortAlreadyLoaned | -2019 | "The Data port is in use by another call or application." |
KErrEtelCallAlreadyActive | -2020 | "Another call active. Close it before opening a new one" |
NetDial Errors
KErrExitNoModem | -3001 | "No response from phone. Ensure phone is switched on" |
KErrExitModemError | -3002 | "Problem communicating with Internet service’s modem" |
KErrExitLoginFail | -3003 | "Internet username or password is incorrect." |
KErrExitScriptTimeOut | -3004 | "Internet service login script timed out. Internet service login script may be incorrect." |
KErrExitScriptError | -3005 | "Problem with Internet service login script. Internet service login script may be incorrect." |
KErrNetDialDatabaseDefaultUndefined | -3006 | "No Internet Access Points are defined" |
KErrNetDialDatabaseTypeUnknown | -3007 | "No Internet Access Points are defined" |
KErrNetDialDatabaseNotFound | -3008 | "No Internet Access Points are defined" |
KErrNetDialHscsdNotSupported | -3009 | |
TCP/IP (v4)
KErrIfAuthenticationFailure | -3050 | "Internet username or password is incorrect" |
KErrIfAuthNotSecure | -3051 | "Internet service server only allows plain text authentication. This is currently disabled. |
KErrIfAccountDisabled | -3052 | "Could not connect to Internet service. Your account has been disabled" |
KErrIfRestrictedLogonHours | -3053 | "Could not connect to Internet service. Your account is only active during restricted hours" |
KErrIfPasswdExpired | -3054 | "Could not connect to Internet service. Your Internet password has expired" |
KErrIfNoDialInPermission | -3055 | "Could not connect to Internet service. Your do not have dial-in permission" |
KErrIfChangingPassword | -3056 | |
KErrIfCallbackNotAcceptable | -3057 | "Could not connect to Internet service. Callback is not supported" |
KErrIfDNSNotFound | -3058 | "Could not find specified Internet server" |
KErrIfLRDBadLine | -3059 | "Bad line to Internet service dropped" |
KErrIfNoServerPresent | -3060 | |
KErrIfRemoteDisconnected | -3061 | |
More TCP/IP errors below (in the -5100 range).
GenConn
扩展:symbian os / symbian os软件下载 / sql error codes.xml KErrGenConnDatabaseDefaultUndefined | -3606 | "No Internet accounts have been set up. Set up an account in Control panel." |
KErrGenConnDatabaseTypeUnknown | -3607 | "CommDb error" |
KErrGenConnDatabaseNotFound | -3608 | "CommDb error" |
KErrGenConnNoGPRSNetwork | -3609 | "No Packet network available" |
KErrGenConnIncorrectMSClass | -3610 | "Phone capabilities insufficient for required services" |
KErrGenConnInadequateSignalStrengh | -3611 | "Signal strength too low for connection, try again later" |
KErrGenConnStateMachineNotAvailable | -3612 | "State Machine not available for connection" |
Etel GSM Errors
Radio Resource Layer (GSM 4.08) | |
KErrGsmRRUnspecifedAbnormalRelease | -4001 |
KErrGsmRRChannelUnacceptable | -4002 |
KErrGsmRRTimerExpired | -4003 |
KErrGsmRRNoActivityOnRadioPath | -4004 |
KErrGsmRRPreEmptiveRelease | -4005 |
KErrGsmRRCallAlreadyCleared | -4065 |
KErrGsmRRInvalidMessage | -4095 |
KErrGsmRRNonExistentMessage | -4097 |
KErrGsmRRIncompatibleMessageWithCallState | -4098 |
KErrGsmRRInvalidInformationElement | -4100 |
KErrGsmRRUnspecifiedProtocolError | -4111 |
Mobility Management Layer (GSM 4.08) | |
KErrGsmMMUnallocatedTmsi | -4129 |
KErrGsmMMImsiUnknownInHlr | -4130 |
KErrGsmMMIllegalMs | -4131 |
KErrGsmMMImsiUnknownInVlr | -4132 |
KErrGsmMMImeiNotAccepted | -4133 |
KErrGsmMMIllegalMe | -4134 |
KErrGsmMMPlmnNotAllowed | -4139 |
KErrGsmMMLocationAreaNotAllowed | -4140 |
KErrGsmMMRoamingNotAllowedInThisLocationArea | -4141 |
KErrGsmMMNoSuitableCellsInArea | -4143 |
KErrGsmMMNetworkFailure | -4145 |
KErrGsmMMMacFailure | -4148 |
KErrGsmMMSynchFailure | -4149 |
KErrGsmMMCongestion | -4150 |
KErrGsmMMGsmAuthenticationUnacceptable | -4151 |
KErrGsmMMServiceOptionNotSupported | -4160 |
KErrGsmMMServiceOptionNotSubscribed | -4161 |
KErrGsmMMServiceOptionTemporaryOutOfOrder | -4162 |
KErrGsmMMCallCanNotBeIdentified | -4166 |
KErrGsmMMSemanticErrorInMessage | -4223 |
KErrGsmMMMandatoryInformationElementError | -4224 |
KErrGsmMMNonExistentMessageType | -4225 |
KErrGsmMMIncompatibleMessageWithProtocolState | -4226 |
KErrGsmMMNonExistentInformationElement | -4227 |
KErrGsmMMConditionalIEError | -4228 |
KErrGsmMMIncompatibleMessageWithCallState | -4229 |
KErrGsmMMUnspecifiedProtocolError | -4239 |
Call Control Layer (GSM 04.08) | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
|
KErrGsmCCUnassignedNumber | -4257 |
KErrGsmCCNoRouteToTransitNetwork | -4258 |
KErrGsmCCNoRouteToDestination | -4259 |
KErrGsmCCChannelUnacceptable | -4262 |
KErrGsmCCOperatorDeterminedBarring | -4264 |
KErrGsmCCNormalCallClearing | -4272 |
KErrGsmCCUserBusy | -4273 |
KErrGsmCCUserNotResponding | -4274 |
KErrGsmCCUserAlertingNoAnswer | -4275 |
KErrGsmCCCallRejected | -4277 |
KErrGsmCCNumberChanged | -4278 |
KErrGsmCCPreemption | -4281 |
KErrGsmCCNonSelectedUserClearing | -4282 |
KErrGsmCCDestinationOutOfOrder | -4283 |
KErrGsmCCInvalidNumberFormat | -4284 |
KErrGsmCCFacilityRejected | -4285 |
KErrGsmCCResponseToStatusEnquiry | -4286 |
KErrGsmCCNormalUnspecified | -4287 |
KErrGsmCCNoChannelAvailable | -4290 |
KErrGsmCCNetworkOutOfOrder | -4294 |
KErrGsmCCTemporaryFailure | -4297 |
KErrGsmCCSwitchingEquipmentCongestion | -4298 |
KErrGsmCCAccessInformationDiscarded | -4299 |
KErrGsmCCRequestedChannelNotAvailable | -4300 |
KErrGsmCCResourceNotAvailable | -4303 |
KErrGsmCCQualityOfServiceNotAvailable | -4305 |
KErrGsmCCRequestedFacilityNotSubscribed | -4306 |
KErrGsmCCIncomingCallsBarredInCug | -4311 |
KErrGsmCCBearerCapabilityNotAuthorised | -4313 |
KErrGsmCCBearerCapabilityNotCurrentlyAvailable | -4314 |
KErrGsmCCServiceNotAvailable | -4319 |
KErrGsmCCBearerServiceNotImplemented | -4321 |
KErrGsmCCChannelTypeNotImplemented | -4322 |
KErrGsmCCAcmGreaterThanAcmMax | -4324 |
KErrGsmCCRequestedFacilityNotImplemented | -4325 |
KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable | -4326 |
KErrGsmCCServiceNotImplemented | -4335 |
KErrGsmCCInvalidCallReferenceValue | -4337 |
KErrGsmCCChannelDoesNotExist | -4338 |
KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork | -4339 |
KErrGsmCCCallIdentityInUse | -4340 |
KErrGsmCCNoCallSuspended | -4341 |
KErrGsmCCRequestedCallIdentityAlreadyCleared | -4342 |
KErrGsmCCUserNotInCug | -4343 |
KErrGsmCCIncompatibleDestination | -4344 |
KErrGsmCCInvalidTransitNetworkSelection | -4347 |
KErrGsmCCIncompatibleSegmentedMessage | -4350 |
KErrGsmCCSemanticallyIncorrectMessage | -4351 |
KErrGsmCCInvalidMandatoryInformation | -4352 |
KErrGsmCCNonExistentMessageType | -4353 |
KErrGsmCCIncompatibleMessageInProtocolState | -4354 |
KErrGsmCCNonExistentInformationElement | -4355 |
扩展:symbian os / symbian os软件下载 / sql error codes.xml KErrGsmCCConditionalIEError | -4356 |
KErrGsmCCIncompatibleMessageInCallState | -4357 |
KErrGsmCCRecoveryOnTimerExpiry | -4358 |
KErrGsmCCUnspecifiedProtocolError | -4367 |
KErrGsmCCUnspecifiedInterworkingError | -4383 |
Supplementary Services Layer (GSM 04.80) | |
KErrGsmSSUnknownSubscriber | -4385 |
KErrGsmSSIllegalSubscriber | -4393 |
KErrGsmSSBearerServiceNotProvisioned | -4394 |
KErrGsmSSTeleserviceNotProvisioned | -4395 |
KErrGsmSSIllegalEquipment | -4396 |
KErrGsmSSCallBarred | -4397 |
KErrGsmSSIllegalOperation | -4400 |
KErrGsmSSErrorStatus | -4401 |
KErrGsmSSNotAvailable | -4402 |
KErrGsmSSSubscriptionViolation | -4403 |
KErrGsmSSIncompatibility | -4404 |
KErrGsmSSFacilityNotSupported | -4405 |
KErrGsmSSAbsentSubscriber | -4411 |
KErrGsmSSSystemFailure | -4418 |
KErrGsmSSDataMissing | -4419 |
KErrGsmSSUnexpectedDataValue | -4420 |
KErrGsmSSPasswordRegistrationFailure | -4421 |
KErrGsmSSNegativePasswordCheck | -4422 |
KErrGsmSSPasswordAttemptsViolation | -4427 |
KErrGsmSSUnknownAlphabet | -4455 |
KErrGsmSSUssdBusy | -4456 |
KErrGsmSSMaxNumMptyParticipants | -4510 |
KErrGsmSSResourcesUnavailable | -4511 |
SMS Layer (GSM 04.11) | |
KErrGsmSMSUnassignedNumber | -4513 |
KErrGsmSMSOperatorDeterminedBarring | -4520 |
KErrGsmSMSCallBarred | -4522 |
KErrGsmSMSReserved | -4523 |
KErrGsmSMSNetworkFailure | -4529 |
KErrGsmSMSShortMessageTransferRejected | -4533 |
KErrGsmSMSMemoryCapacityExceeded | -4534 |
KErrGsmSMSDestinationOutOfOrder | -4539 |
KErrGsmSMSUnidentifiedSubscriber | -4540 |
KErrGsmSMSFacilityRejected | -4541 |
KErrGsmSMSUnknownSubscriber | -4542 |
KErrGsmSMSNetworkOutOfOrder | -4550 |
KErrGsmSMSTemporaryFailure | -4553 |
KErrGsmSMSCongestion | -4554 |
KErrGsmSMSResourcesUnavailable | -4559 |
KErrGsmSMSRequestedFacilityNotSubscribed | -4562 |
KErrGsmSMSRequestedFacilityNotImplemented | -4581 |
KErrGsmSMSInvalidShortMessageTransferReferenceValue | -4593 |
KErrGsmSMSUnspecifiedInvalidMessage | -4607 |
KErrGsmSMSInvalidMandatoryInformation | -4608 |
KErrGsmSMSNonExistentMessageType | -4609 |
KErrGsmSMSIncompatibleMessageWithSmsProtocolState | -4610 |
KErrGsmSMSInformationElementNotImplemented | -4611 |
KErrGsmSMSUnspecifiedProtocolError | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-4623 |
KErrGsmSMSUnspecifiedInterworkingError | -4639 |
SMS Layer (GSM 03.40) | |
KErrGsmSMSTelematicInterworkingNotSupported | -4640 |
KErrGsmSMSShortMessageType0NotSupported | -4641 |
KErrGsmSMSCannotReplaceShortMessage | -4642 |
KErrGsmSMSUnspecifiedPIDError | -4655 |
KErrGsmSMSDataCodingSchemeNotSupported | -4656 |
KErrGsmSMSMessageClassNotSupported | -4657 |
KErrGsmSMSUnspecifiedDCSError | -4671 |
KErrGsmSMSCommandCannotBeActioned | -4672 |
KErrGsmSMSCommandNotSupported | -4673 |
KErrGsmSMSUnspecifiedCommandError | -4687 |
KErrGsmSMSTpduNotSupported | -4688 |
KErrGsmSMSServiceCentreBusy | -4704 |
KErrGsmSMSNoSCSubscription | -4705 |
KErrGsmSMSSCSystemFailure | -4706 |
KErrGsmSMSInvalidSMEAddress | -4707 |
KErrGsmSMSDestinationSMEBarred | -4708 |
KErrGsmSMSDuplicateSM | -4709 |
KErrGsmSMSTPVPFNotSupported | -4710 |
KErrGsmSMSTPVPNotSupported | -4711 |
KErrGsmSMSSimSMSStorageFull | -4720 |
KErrGsmSMSNoSMSStorageCapabilityInSim | -4721 |
KErrGsmSMSErrorInMS | -4722 |
KErrGsmSMSMemCapacityExceeded | -4723 |
KErrGsmSMSSimAppToolkitBusy | -4724 |
KErrGsmSMSUnspecifiedErrorCause | -4767 |
SMS / AT Commands (GSM 07.05) | |
KErrGsmSMSFailureInME | -4812 |
KErrGsmSMSServiceOfMSReserved | -4813 |
KErrGsmSMSOperationNotAllowed | -4814 |
KErrGsmSMSOperationNotSupported | -4815 |
KErrGsmSMSInvalidPDUModeParameter | -4816 |
KErrGsmSMSInvalidTextModeParameter | -4817 |
KErrGsmSMSSimNotInserted | -4822 |
KErrGsmSMSSimPin1Required | -4823 |
KErrGsmSMSPhoneToSimLockRequired | -4824 |
KErrGsmSMSSimFailure | -4825 |
KErrGsmSMSSimBusy | -4826 |
KErrGsmSMSSimWrong | -4827 |
KErrGsmSMSSimPuk1Required | -4828 |
KErrGsmSMSPin2Required | -4829 |
KErrGsmSMSPuk2Required | -4830 |
KErrGsmSMSMemoryFailure | -4832 |
KErrGsmSMSInvalidMemoryIndex | -4833 |
KErrGsmSMSMemoryFull | -4834 |
KErrGsmSMSUnknownSCAddress | -4842 |
KErrGsmSMSNoNetworkService | -4843 |
KErrGsmSMSNetworkTimeout | -4844 |
KErrGsmSMSCnmaAckNotExpected | -4852 |
KErrGsmSMSUnknownError | -5012 |
URI Utils Errors
KUriUtilsErrBadComponentIndex | -5000 | Error specifying the use of an invalid component index |
KUriUtilsErrBadBasePath | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-5001 | Error specifying the use of a base uri path is not absolute and not empty |
KUriUtilsErrBufferOverflow | -5002 | Error specifying that a buffer is not big enough to append a component and delimiters |
KUriUtilsErrBadDelimitedParserMode | -5003 | Error specifying the use of an supported parsing mode |
KUriUtilsErrNoDelimiter | -5004 | Error specifying that the delimiting character is not set |
KUriUtilsErrNotParsed | -5005 | Error specifying that the data has not been parsed |
KUriUtilsErr16BitChar | -5006 | Error specifying that a 16-bit character was found in data to be escape encode |
KUriUtilsErrBadEscapeTriple | -5007 | Error specifying that a badly formed escape triple was found in data being escape decoded |
KUriUtilsCannotConvert | -5008 | Error specifying that charconv was unable to convert the input data |
KUriUtilsErrEmptyData | -5009 | Error specifying that there was empty data |
KUriUtilsErrNoIntegerInData | -5010 | Error specifying that there is no character representation of an integer |
KUriUtilsErrInvalidUri | -5011 | Error code specifying an invalid uri |
KUriUtilsErrBadEscapeMode | -5012 | Error code for unsupported escaping mode |
KUriUtilsErrBadTextRemoveMode | -5013 | Error code for unsupported text whitespace removal mode |
KUriUtilsErrDecodeMalformedQuotedString | -5014 | Quoted string could not be decoded as it is malformed |
GSM AT Commands Errors
KErrGsm0707PhoneFailure | -5024 |
KErrGsm0707NoConnectionToPhone | -5025 |
KErrGsm0707PhoneLinkReserved | -5026 |
KErrGsm0707OperationNotAllowed | -5027 |
KErrGsm0707OperationNotSupported | -5028 |
KErrGsm0707PhoneToSimLockRequired | -5029 |
KErrGsm0707SimNotInserted | -5034 |
KErrGsm0707SimPin1Required | -5035 |
KErrGsm0707SIMPuk1Required | -5036 |
KErrGsm0707SimFailure | -5037 |
KErrGsm0707SimBusy | -5038 |
KErrGsm0707SimWrong | -5039 |
KErrGsm0707IncorrectPassword | -5040 |
KErrGsm0707SimPin2Required | -5041 |
KErrGsm0707SIMPuk2Required | -5042 |
KErrGsm0707MemoryFull | -5044 |
KErrGsm0707InvalidIndex | -5045 |
KErrGsm0707NotFound | -5046 |
KErrGsm0707MemoryFailure | -5047 |
KErrGsm0707TextStringTooLong | -5048 |
KErrGsm0707InvalidCharsInTextString | -5049 |
KErrGsm0707DialStringTooLong | -5050 |
KErrGsm0707InvalidCharsInDialString | -5051 |
KErrGsm0707NoNetworkService | -5054 |
KErrGsm0707NetworkTimeout | -5055 |
KErrGsm0707UnknownError | -5124 |
TCP/IP (v6)
TCP/IP v6 | | |
tcpip6_error_NoDestination | -5100 | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
IPv6: flow has no destination address |
tcpip6_error_NoPathMtu | -5101 | IPv6: Misconfigured driver not giving proper MTU |
tcpip6_error_ShortPacket | -5102 | IPv6: A packet in RMBUF is too short |
tcpip6_error_DuplicateAddress | -5103 | IPv6: Duplicate address detected on a device |
tcpip6_error_AddressExpired | -5104 | IPv6: Source Address used by connection has expired |
tcpip6_error_NoRoute | -5105 | IPv6: No route available |
DND | | |
DndTimedOut | -5120 | No response from DNS server |
DndHostNotFound | -5121 | Host not found |
DndInternalError | -5122 | Internal error in host name resolver |
DndInternalError | -5123 | Internal error in host name resolver |
DndInternalError | -5124 | Internal error in host name resolver |
DndNoAnswer | -5125 | DNS server couldn’t answer query |
DndNoAnswer | -5126 | DNS server couldn’t answer query |
DndHostNotFound | -5127 | Host not found |
DndNoAnswer | -5128 | DNS server couldn’t answer query |
DndRefused | -5129 | DNS server refused connection |
DndInternalError | -5130 | Internal error in host name resolver |
DndHostNotFound | -5131 | Host not found |
DndNameTooBig | -5132 | Invalid Host Name (too long) |
DndInternalError | -5133 | Internal error in host name resolver |
DndRetry | -5134 | |
IPSEC Errors
EIpsec_NotANATTPacket | -5154 | UDP packet is NOT a NAT Taversal packet |
EIpsec_NoInnerSource | -5155 | Cannot find inner-src for outbound packet when tunneling (for SECPOL) |
EIpsec_LostSA | -5156 | An SA has been lost betweenApply andVerify, expired? (for SECPOL) |
EIpsec_IcmpError | -5157 | An ICMP error report containing AH orESP (for INET6) |
EIpsec_PolicyUnknownSelector | -5158 | unknown selector keyword |
EIpsec_PolicyInboundOutbound | -5159 | Only one of the ’inbound’ or ’outbound’ is allowed |
EIpsec_PolicyIpMaskExpected | -5160 | Expected IP address (as mask) here |
EIpsec_PolicyIpAddressExpected | -5161 | Expected IP address here |
EIpsec_PolicyInvalidIpAddress | -5162 | Invalid IP address |
EIpsec_PolicyRightParen | -5163 | Right parenthesis expected |
EIpsec_PolicyLeftParen | -5164 | Left parenthesis expected |
EIpsec_PolicySpecNotFound | -5165 | SA specification is not defined before reference in selector |
EIpsec_PolicySyntaxError | -5166 | Generic delimiter error inspecification |
EIpsec_PolicySpecName | -5167 | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
SA specification name missing or invalid |
EIpsec_PolicyNoEncryptAlgorithm | -5168 | ESP specification must include encryptionb algorithm |
EIpsec_PolicyNoAuthAlgorithm | -5169 | AH specification must include authentication algorithm |
EIpsec_PolicyTooManyTypes | -5170 | Type can be specified onlyonce for specification |
EIpsec_PolicyNoType | -5171 | SA type (AH or ESP) omittedfromspecification |
EIpsec_PolicyCloseBraceExpected | -5172 | closing brace expected |
EIpsec_PolicyNumberExpected | -5173 | number value expected |
EIpsec_PolicyUnknownSpec | -5174 | unknown policy specification keyword |
EIpsec_PolicyInvalidIdentity | -5175 | invalid identity syntax |
EIpsec_PolicyIdentityDefined | -5176 | identify already defined |
EIpsec_PolicyUnknownAuth | -5177 | algorithm not defined in algorithm map |
EIpsec_PolicyUnknownEncrypt | -5178 | algorithm not defined in algorithm map |
EIpsec_UnavailableDigest | -5179 | No installed library implements the digest |
EIpsec_UnavailableCipher | -5180 | No installed library implements the cipher |
EIpsec_UnknownDigestNumber | -5181 | Attempting to use algorithmnumber that is not known |
EIpsec_UnknownCipherNumber | -5182 | Attempting to use algorithmnumber that is not known |
EIpsec_BadCipherKey | -5183 | Key in SA is too short (forthe algorithm) or is weak |
EIpsec_MismatchDestinationIdentity | -5184 | destination identity does not match |
EIpsec_MismatchSourceIdentity | -5185 | source identity does not match |
EIpsec_MismatchProtocol | -5186 | protocol does not match |
EIpsec_MismatchDestinationPort | -5187 | destination port does not match |
EIpsec_MismatchSourcePort | -5188 | source port does not match |
EIpsec_MismatchProxy | -5189 | proxy address does not match |
EIpsec_MismatchSource | -5190 | source address does not match |
EIpsec_MismatchReplayWindow | -5191 | ReplayWindow length is shorter than required |
EIpsec_MismatchedEncryptAlg | -5192 | Encrypt algorithm doesn’t match |
EIpsec_MismatchedAuthAlg | -5193 | Auth algorithm doesn’t match |
EIpsec_MismatchedPFS | -5194 | PFS bit is not same |
EIpsec_MismatchedType | -5195 | SA Type (AH/ESP) does not match |
EIpsec_MismatchedDestination | -5196 | SA destination does not match (internal error?) |
EIpsec_AcquireFailed | -5197 | Acquiring SA failed (no SAavailableor negotiated) |
EIpsec_EspBadCipherBlockSize | -5198 | Configuration error, cipherblock size must be < 256 |
EIpsec_EspSequenceWrap | -5199 | Outbound sequence # wrappedaround for this SA |
EIpsec_AhSequenceWrap | -5200 | Outbound sequence # wrappedaround for this SA | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
EIpsec_AhPacketTooLong | -5201 | Outbound packet would exeed2**16-1 with AH |
EIpsec_AhRMBufSplit | -5202 | Inbound AH processing failed (Memory?) |
EIpsec_NoBundle | -5203 | Incoming packet had transforms, but policy doesn’t require any |
EIpsec_TooManyTransforms | -5204 | Incoming packet had more transforms than policy requires |
EIpsec_UnrequiredSA | -5205 | Applied SA where policy hasnone |
EIpsec_MismatchedSA | -5206 | Applied SA does not match the policy |
EIpsec_TunnelMismatch | -5207 | Tunnelmode does not match the policy |
EIpsec_TooFewTransforms | -5208 | Incoming packet has less transforms than policy requires |
EIpsec_MaxTransforms | -5209 | Incoming packet exceed configured maxlimit of transforms |
EIpsec_NoSelectorMatch | -5210 | None of the policy selectors matched |
EIpsec_OutboundPending | -5211 | Outbooud SA does not exits,ACQUIRE pending |
EIpsec_OutboundNotFound | -5212 | Outbound SA does not exist,ACQUIRE started |
EIpsec_ReplayDuplicate | -5213 | Duplicate packet (replay window test) |
EIpsec_EspPadLength | -5214 | The ESP pad length is corrupt (probably wrong key) |
EIpsec_EspPadByte | -5215 | The ESP pad byte content isinvalid (probably wrong key) |
EIpsec_DataAlignment | -5216 | Data not aligned by block size |
EIpsec_PacketLength | -5217 | Invalid lenght of the packet |
EIpsec_AhAuthentication | -5218 | Authentication check failedin AH |
EIpsec_AhIcvLength | -5219 | ICV length in packet does not match algorithm |
EIpsec_AhInboundSA | -5220 | The inbound SA for AH doesnot exist |
EIpsec_AhAuthAlg | -5221 | Required auth algorithm forAH not available/installed |
EIpsec_EspEncrAlg | -5222 | Required encrypt algorithmfor ESP not available/installed |
EIpsec_EspAuthAlg | -5223 | Required auth algorithm forESP not available/installed |
EIpsec_EspAuthentication | -5224 | Authentication check failedin ESP |
EIpsec_EspInboundSA | -5225 | The inbound SA for ESP doesnot exist |
EIpsec_CorruptPacketOut | -5226 | Corrupt packet after IPSECoperations |
EIpsec_CorruptPacketIn | -5227 | Truncated or corrupt packetor header(in) |
EIpsec_RMBUF | -5228 | RMBUF operation failed unexpectedly |
WAP: WSP, WTP, WDP and WTLS Errors
RWAPConn::EMoreData | -5500 |
RWAPConn::EBearerError | -5499 |
RWAPConn::EPortAlreadyBound | -5498 |
RWAPConn::ECannotOpenPort | -5497 |
RWAPConn::ETooManyConnections | -5496 |
RWAPConn::EBadConnection | -5495 |
RWAPConn::EBufferTooSmall | -5494 |
| |
RWSPCOConn::EBufferTooSmall | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-5475 |
RWSPCOConn::EInvalidSession | -5474 |
RWSPCOConn::EInvalidTransaction | -5473 |
RWSPCOConn::EParameterError | -5472 |
RWSPCOConn::ESessionNotConnected | -5471 |
RWSPCOConn::ENotSupported | -5470 |
RWSPCOConn::EInvalidState | -5469 |
RWSPCOConn::ESessionClosed | -5468 |
RWSPCOConn::EMRUExceeded | -5467 |
RWSPCOConn::EInvalidBufferSize | -5466 |
RWSPCOConn::EDataNotAvailable | -5465 |
RWSPCOConn::EErrorTimeout | -5464 |
| |
RWSPCLConn::EBufferTooSmall | -5450 |
RWSPCLConn::EInvalidSession | -5449 |
RWSPCLConn::EParameterError | -5448 |
RWSPCLConn::ESessionNotConnected | -5447 |
RWSPCLConn::ENotSupported | -5446 |
RWSPCLConn::EInvalidState | -5445 |
RWSPCLConn::ESessionClosed | -5444 |
RWSPCLConn::EMRUExceeded | -5443 |
RWSPCLConn::EInvalidBufferSize | -5442 |
RWSPCLConn::EDataNotAvailable | -5441 |
RWSPCLConn::EErrorTimeout | -5440 |
| |
RWTPConn::ENoMemory | -5425 |
RWTPConn::EBadArgument | -5424 |
RWTPConn::EProviderProtoErr | -5423 |
RWTPConn::EProviderAbortInvalidTID | -5422 |
RWTPConn::EProviderAbortNoClass2 | -5421 |
RWTPConn::EProviderAbortNoSAR | -5420 |
RWTPConn::EProviderAbortNoUACK | -5419 |
RWTPConn::EProviderAbortVers1 | -5418 |
RWTPConn::EProviderAbortNoResponse | -5417 |
RWTPConn::EProviderAbortMsgTooLarge | -5416 |
RWTPConn::EProviderAbortGeneral | -5415 |
RWTPConn::EShutdownError | -5414 |
| |
RWDPConn::EInvalidParameter | -5400 |
| |
RWTLS::EOutOfMemory | -5375 |
RWTLS::ESocketError | -5374 |
RWTLS::EBadParameters | -5373 |
RWTLS::ESocketError2 | -5372 |
RWTLS::EResumeIDNotFound | -5371 |
RWTLS::EResumeError | -5370 |
RWTLS::ERenegotiationRequest | -5369 |
RWTLS::EIllegalCall | -5368 |
RWTLS::EConnectionCloseNotify | -5367 |
RWTLS::ESessionCloseNotify | -5366 |
RWTLS::ENoConnection | -5365 |
RWTLS::EUnexpectedMessage | -5364 |
RWTLS::EBadRecordMac | -5363 |
RWTLS::EDecryptionFailed | -5362 |
RWTLS::ERecordOverflow | -5361 |
RWTLS::EHandshakeFailure | -5360 |
RWTLS::EDecompressionFailure | -5359 |
RWTLS::EBadCertificate | -5358 |
扩展:symbian os / symbian os软件下载 / sql error codes.xml RWTLS::EUnsupportedCertificate | -5357 |
RWTLS::ECertificateRevoked | -5356 |
RWTLS::ECertificateExpired | -5355 |
RWTLS::ECertificateUnknown | -5354 |
RWTLS::EIllegalParameter | -5353 |
RWTLS::EUnknownCA | -5352 |
RWTLS::EAccessDenied | -5351 |
RWTLS::EDecodeError | -5350 |
RWTLS::EDecryptError | -5349 |
RWTLS::EUnknownKeyId | -5348 |
RWTLS::EDisableKeyId | -5347 |
RWTLS::EKeyExchangeDisabled | -5346 |
RWTLS::ESessionNotReady | -5345 |
RWTLS::EUnknownParameterIndex | -5344 |
RWTLS::EDuplicateFinishedRecv | -5343 |
RWTLS::EExportRestriction | -5342 |
RWTLS::EProtocolVersion | -5341 |
RWTLS::EInsufficientSecurity | -5340 |
RWTLS::EInternalError | -5339 |
RWTLS::EUserCanceled | -5338 |
RWTLS::ENoRenegotiation | -5337 |
RWTLS::EErrGeneral | -5336 |
RWTLS::EErrBulk | -5335 |
RWTLS::EErrMac | -5334 |
RWTLS::EErrSequenceNumberMode | -5333 |
RWTLS::EErrKeyRefreshRate | -5332 |
RWTLS::EUnknownPolicy | -5331 |
OBEX
KErrIrObexClientNoDevicesFound | -5501 | "No other device found" |
KErrIrObexClientPeerDoesNotHaveObex | -5502 | "Other device cannot handle OBEX" |
KErrIrObexClientPutPeerAborted | -5503 | "Other device aborted the transfer" |
KErrIrObexServerPutPeerAborted | -5507 | "Peer device aborted data transmission/OBEX sending" |
KErrIrObexConnectChallRejected | -5512 | "Authentication challenge rejected" |
KErrIrObexRespSuccess | -5532 | |
KErrIrObexRespCreated | -5533 | |
KErrIrObexRespAccepted | -5534 | |
KErrIrObexRespNonAuthInfo | -5535 | |
KErrIrObexRespNoContent | -5536 | |
KErrIrObexRespResetContent | -5537 | |
KErrIrObexRespPartialContent | -5538 | |
KErrIrObexRespMultipleChoices | -5548 | |
KErrIrObexRespMovedPerm | -5549 | |
KErrIrObexRespMovedTemp | -5550 | |
KErrIrObexRespSeeOther | -5551 | |
KErrIrObexRespNotModified | -5552 | |
KErrIrObexRespUseProxy | -5553 | |
KErrIrObexRespBadRequest | -5564 | |
KErrIrObexRespUnauthorized | -5565 | |
KErrIrObexRespPaymentRequired | -5566 | |
KErrIrObexRespForbidden | -5567 | |
KErrIrObexRespNotFound | -5568 | |
扩展:symbian os / symbian os软件下载 / sql error codes.xml KErrIrObexRespMethodNotAllowed | -5569 | |
KErrIrObexRespNotAcceptable | -5570 | |
KErrIrObexRespProxyAuthenReqd | -5571 | |
KErrIrObexRespTimedOut | -5572 | |
KErrIrObexRespConflict | -5573 | |
KErrIrObexRespGone | -5574 | |
KErrIrObexRespLengthReqd | -5575 | |
KErrIrObexRespPreCondFailed | -5576 | |
KErrIrObexRespReqEntityTooLarge | -5577 | |
KErrIrObexRespReqURLTooLarge | -5578 | |
KErrIrObexRespUnsupMediaType | -5579 | |
KErrIrObexRespInternalError | -5580 | |
KErrIrObexRespNotImplemented | -5581 | |
KErrIrObexRespBadGateway | -5582 | |
KErrIrObexRespServiceUnavail | -5583 | |
KErrIrObexRespGatewayTimeout | -5584 | |
KErrIrObexRespHTTPVerNotSupp | -5585 | |
KErrIrObexRespDatabaseFull | -5596 | |
KErrIrObexRespDatabaseLocked | -5597 | |
VCard/VCal Parser Errors
KVersitErrCodeBase | -5750 |
KVersitErrBadDateTime | -5751 |
KVersitErrRepeatTypeNotHandled | -5752 |
KVersitErrBadRepeatValue | -5753 |
KVersitErrBadTimeZone | -5754 |
KVersitErrBadTimePeriod | -5755 |
KVersitErrNumberExpected | -5756 |
KVersitErrNestedVcardExpected | -5757 |
KVersitErrNoPropertyName | -5758 |
Bluetooth Errors
HCI | THCIErrorCode | Global Error Code |
EOK | 0x00 | -6000 |
EUnknownOpcode | 0x01 | -6001 |
ENoConnection | 0x02 | -6002 |
EHardwareFail | 0x03 | -6003 |
EPageTimedOut | 0x04 | -6004 |
EAuthenticationFailure | 0x05 | -6005 |
EKeyMissing | 0x06 | -6006 |
EKeyMemoryFull | 0x07 | -6007 |
EConnectionTimeout | 0x08 | -6008 |
EMaxConnections | 0x09 | -6009 |
EMaxSCOConnections | 0x0a | -6010 |
EMaxACLConnections | 0x0b | -6011 |
ECommandDisallowed | 0x0c | -6012 |
EHostResourceRejection | 0x0d | -6013 |
EHostSecurityRejection | 0x0e | -6014 |
EHostPersonalDeviceRejection | 0x0f | -6015 |
ERemoteHostTimeout | 0x10 | -6016 |
EUnsupportedParameter | 0x11 | -6017 |
EInvalidHCIParameter | 0x12 | -6018 |
ERemoteUserEndedConnection | 0x13 | -6019 |
ERemoteLowResources | 0x14 | -6020 |
ERemoteAboutToPowerOff | 0x15 | -6021 |
ETerminatedByLocalHost | 0x16 | -6022 |
ERepeatedAttempts | 0x17 | -6023 |
EPairingNotAllowed | 0x18 | -6024 |
EUnknownLMPpdu | 0x19 | -6025 | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
EUnsupportedRemoteLMPFeature | 0x1a | -6026 |
ESCOOffsetRejected | 0x1b | -6027 |
ESCOIntervalRejected | 0x1c | -6028 |
ESCOAirModeRejected | 0x1d | -6029 |
EInvalidLMPParameters | 0x1e | -6030 |
EUnspecifiedError | 0x1f | -6031 |
EPending | 0x20 | -6032 |
L2CAP | |
KErrBadAddress | -6300 |
KErrSAPUnexpectedEvent | -6301 |
KErrBadPacketReceived | -6302 |
KErrL2CAPBadResponse | -6303 |
KErrHCIConnectFailed | -6304 |
KErrHCILinkDisconnection | -6305 |
KErrSAPNotConnected | -6306 |
KErrConfigBadParams | -6307 |
KErrConfigRejected | -6308 |
KErrConfigUnknownOptions | -6309 |
KErrL2PeerDisconnected | -6310 |
KErrL2CAPAccessRequestDenied | -6311 |
KErrL2CAPRequestTimeout | -6312 |
KErrL2PeerRejectedCommand | -6313 |
KErrHostResNameTooLong | -6314 |
KErrHostResNoMoreResults | -25 |
KErrL2HostResNoMoreResults | -25 |
RFCOM | |
KErrRfcommSAPUnexpectedEvent | -6350 |
KErrRfcommAlreadyBound | -6351 |
KErrRfcommBadAddress | -6352 |
KErrRfcommMTUSize | -6353 |
KErrRfcommFrameResponseTimeout | -6354 |
KErrRfcommMuxRemoteDisconnect | -6355 |
KErrRfcommNotBound | -6356 |
KErrRfcommParameterNegotiationFailure | -6357 |
KErrRfcommNotListening | -6358 |
KErrRfcommNoMoreServerChannels | -6359 |
Bluetooth AVCTP Error Codes | | |
KErrAvctpBadAddress | -6400 | AVCTP bad address |
KErrAvctpSAPUnexpectedEvent | -6401 | AVCTP unexpected SAP event |
KErrAvctpBadPacketReceived | -6402 | AVCTP bad packet received |
KErrAvctpBadResponse | -6403 | AVCTP bad response |
KErrAvctpConnectFailed | -6404 | AVCTP connect failed |
KErrAvctpLinkDisconnection | -6405 | AVCTP link disconnection |
KErrAvctpSAPNotConnected | -6406 | AVCTP SAP not connected |
KErrAvctpPeerDisconnected | -6407 | AVCTP peer disconnection |
KErrAvctpAccessRequestDenied | -6408 | AVCTP access request denied |
KErrAvctpRequestTimeout | -6409 | AVCTP request timeout |
KErrAvctpPeerRejectedCommand | -6410 | AVCTP peer rejected command |
Bluetooth SDP Error Codes | | |
KErrSdpAlreadyBound | -6400 | Cannot bind to specifed sockets protocol, as already bound |
KErrSdpPeerError | -6401 | Remote device gave unknown error |
KErrSdpClientNotConnected | -6402 | Local device is not connected |
KErrSdpUnsupportedVersion | -6403 | Invalid/unsupported SDP version |
KErrSdpBadRecordHandle | -6404 | Invalid Service Record Handle |
KErrSdpBadContinuationState | -6405 | Invalid ContinuationState |
KErrSdpServerRejectedRequest | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-6406 | SDP server rejected the request |
KErrSdpBadRequestBufferLength | -6407 | Request buffer was ill-formed |
KErrSdpBadResultBufferLength | -6408 | Result buffer was ill-formed |
KErrSdpBadUUIDLength | -6409 | UUID entry was ill-formed |
KErrSdpBadResultData | -6410 | Response was ill-formed |
KErrSdpDatabaseFull | -6411 | SDP database is full |
Bluetooth Link manager Error Codes | | |
KErrInsufficientBasebandResources | -6450 | Insufficient baseband resources error value |
KErrProxyWriteNotAvailable | -6451 | Proxy write not available error value |
KErrReflexiveBluetoothLink | -6452 | Reflexive BT link error value |
Message Server Error Codes
KMsvMediaUnavailable | -7000 | There is no disk in the drive containing the Message Server index |
KMsvMediaIncorrect | -7001 | There is a disk in the drive containing the Message Server index, but it is the wrong one |
KMsvMediaChanged | -7002 | |
KMsvIndexBackup | -7003 | |
KMsvIndexRestore | -7004 | |
HTTP Error Codes
KErrHttpEncodeDefault | -7200 | Error making a default encoding of unrecognised headers |
KErrHttpEncodeAccept | -7201 | Error encoding the Accept field |
KErrHttpEncodeAcceptCharset | -7202 | Error encoding the Accept-Charset field |
KErrHttpEncodeQValue | -7203 | Error encoding a q -value parameter |
KErrHttpEncodeAuthorization | -7204 | Error encoding the Authorization field |
KErrHttpEncodeBasicAuth | -7205 | Error encoding Basiccredentials |
KErrHttpEncodeDigestAuth | -7206 | Error encoding Digestcredentials |
KErrHttpEncodeConnection | -7207 | Error encoding the Connection field |
KErrHttpEncodeContentLength | -7208 | Error encoding the Content-Length field |
KErrHttpEncodeContentType | -7209 | Error encoding the Content-Type field |
KErrHttpEncodeHost | -7210 | Error encoding the Host field |
KErrHttpEncodeHostPort | -7211 | Error encoding the Host field’s port parameter |
KErrHttpEncodeTransferEncoding | -7212 | Error encoding the Transfer-Encoding field |
KErrHttpEncodeUserAgent | -7213 | Error encoding the User-Agent field |
KErrHttpEncodeDate | -7214 | Error encoding the Date field |
KErrHttpEncodeCookie | -7215 | Error encoding the Cookie field |
KErrHttpEncodeCacheControl | -7216 | Error encoding the Cache-Control field |
KErrHttpEncodePragma | -7217 | Error encoding the Pragma field |
KErrHttpEncodeIfMatch | -7218 | Error encoding the ifmatch field |
KErrHttpEncodeIfNoneMatch | -7219 | Error encoding the ifnone match field | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrHttpEncodeIfModifiedSince | -7220 | Error encoding the ifmodified since field |
KErrHttpEncodeIfUnmodifiedSince | -7221 | Error encoding the ifunmodified since field |
KErrHttpEncodeCookie2 | -7222 | Error encoding the Cookie2 field |
KErrHttpDecodeMalformedDate | -7260 | General formatting error for date values |
KErrHttpDecodeMalformedYear | -7261 | Malformed year |
KErrHttpDecodeMalformedMonth | -7262 | Malformed short monthname |
KErrHttpDecodeMalformedDay | -7263 | Malformed number of day in month |
KErrHttpDecodeMalformedWkDay | -7264 | Malformed short day name |
KErrHttpDecodeMalformedWeekDay | -7265 | Malformed long day name |
KErrHttpDecodeMalformedInteger | -7266 | Malformed integer value |
KErrHttpDecodeMalformedQuotedStr | -7267 | Malformed quoted string |
KErrHttpDecodeAccept | -7270 | Error decoding the Accept field |
KErrHttpDecodeConnection | -7271 | Error decoding the Connection field |
KErrHttpDecodeContentLength | -7272 | Error decoding the Content-Length field |
KErrHttpDecodeContentType | -7273 | Error decoding the Content-Type field |
KErrHttpDecodeTransferEncoding | -7274 | Error decoding the Transfer-Encoding field |
KErrHttpDecodeWWWAuthenticate | -7275 | Error decoding the WWWAuthenticate field |
KErrHttpDecodeUnknownAuthScheme | -7276 | The WWWAuthenticate field contained an unrecognised authentication scheme |
KErrHttpDecodeBasicAuth | -7277 | Error decoding a Basic WWWAuthenticate challenge |
KErrHttpDecodeDigestAuth | -7278 | Error decoding a Digest WWWAuthenticate challenge |
KErrHttpDecodeCookie | -7279 | Error decoding a Set-Cookie field |
KErrHttpRedirectExceededLimit | -7300 | A uri redirected too many times, possibly indicating a circular redirection |
KErrHttpRedirectUseProxy | -7301 | A server responded that the uri must be fetched via a proxy |
KErrHttpRedirectNoLocationField | -7302 | A server sent a redirection response that did not include a Location header |
KErrHttpUnknownParseState | -7303 | An error occured in parsing which left the parser in a unknown state |
KErrHttpRequestHasBody | -7330 | A body is provided with a method that doesn’t allow bodys to be transmitted |
KErrHttpRequestBodyMissing | -7331 | A body is missing from a method that requires it |
KErrHttpTraceReqWithoutMaxForwardHeader | -7332 | Should contain The Max-Forward header |
KErrHttpPostReqBodyWithoutSizeOnHTTP10 | -7333 | Body must NOT be sent chunked if using HTTP/1.0 |
KErrHttpInvalidHeaderInRequest | -7334 | Request contained a response header or a entity header but no body |
KErrHttpEntityHeaderMissingContentType | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-7360 | A body was provided in the request but no Content-Type header was set |
KErrHttpGeneralHeaderMissingHost | -7361 | The request URI was relative, but no Host header was set to indicate a server to connect to |
KErrHttpCantResetRequestBody | -7370 | The request body needed to be rewound but the client but it doesn’t support |
KErrHttpProtTransactionNotInitialised | -7371 | The Protocol handler is not initialised |
KErrHttpCannotEstablishTunnel | -7372 | Unable to establish a tunnel. |
KErrHttpInvalidUri | -7373 | Invalid URI |
KErrHttpNonPipeliningError | -7374 | Protocol handler experienced a non-pipelining error |
KErrHttpPipeliningError | -7375 | Protocol handler experienced a pipelining error |
TLS
KErrSSLNoSharedCipher | -7401 | No shared cipher was found. The handshake failed because there was no available shared cipher supported by both the client and the server. |
KErrSSLSocketBusy | -7402 | The socket already has received data pending on it. This error is seen when StartClientHandshake is called when there is already data waiting to be read from the socket. |
KErrSSLInvalidCipherSuite | -7403 | One or more cipher suites passed as an argument was invalid. |
KErrSSLInvalidCert | -7404 | The certificate that was passed as an argument was invalid. |
KErrSSLNoClientCert | -7405 | No client certificate was supplied. |
KErrSSLUnsupportedKeySize | -7406 | The size of the key is too big. |
KErrSSLUnsupportedKey | -7407 | General unsupported key error |
KErrSSLBadRecordHeader | -7408 | An invalid record was received. |
KErrSSLBadProtocolVersion | -7409 | Invalid protocol version |
KErrSSL2ServerOnly | -7410 | The server only supports the SSL2.0 protocol. |
KErrSSLUnexpectedMessage | -7411 | Unexpected message. |
KErrSSLUnsupportedCipher | -7412 | Unsupported cipher. |
KErrSSLBadMAC | -7413 | Bad MAC. |
KErrSSLReceivedAlert | -7414 | An SSL alert was received from the remote end, which caused the connection to be terminated. |
KErrSSLRecvNotSupportedHS | -7415 | An invalid handshake message was received. |
KErrSSLHSRecordFieldTooBig | -7416 | A field in the handshake record being parsed was too big. |
KErrSSLRecordHeaderTooBig | -7417 | Record header field too big. |
KErrSSLSendDataTooBig | -7418 | Send data field too big. |
KErrSSLNoCertificate | -7419 | No certificate. |
KErrSSLInvalidHash | -7420 | Invalid hash. |
KErrSSLSendCanceled | -7421 | Send cancelled. |
KErrSSLRecvCanceled | -7422 | Receieve cancelled. |
KErrSSLHandshakeCanceled | -7423 | CancelHandshake was called during one of the handshake methods. |
KErrSSLWriteFailed | -7424 | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
Write failed. |
KErrSSLFailedToLoad | -7425 | The SSL.dll couldn’t be loaded by the adaptor. |
KErrSSLDisconnectIndication | -7426 | An unspecified error was signaled from the SSL.dll to the adaptor. |
KErrSSLDllLeave | -7427 | A leave occured in the SSL.dll. |
KErrSSLAlertCloseNotify | -7500 | Close notification. |
KErrSSLAlertUnexpectedMessage | -7510 | An inappropriate message was received. |
KErrSSLAlertBadRecordMac | -7520 | A record was received withan incorrect MAC. |
KErrSSLAlertDecryptionFailed | -7521 | A TLS cipher text was decrypted in an invalid way. |
KErrSSLAlertRecordOverflow | -7522 | A TLS cipher text record was received which was too long. |
KErrSSLAlertDecompressionFailure | -7530 | The decompression functionreceived improper input. |
KErrSSLAlertHandshakeFailure | -7540 | With given the options available, the sender was unable to negotiate an acceptable set of security parameters. |
KErrSSLAlertNoCertificate | -7541 | No certificate. |
KErrSSLAlertBadCertificate | -7542 | A certificate was corrupt,e.g. contained signatures that could not be verified. |
KErrSSLAlertUnsupportedCertificate | -7543 | The certificate was of an unsupported type. |
KErrSSLAlertCertificateRevoked | -7544 | The certificate was revoked. |
KErrSSLAlertCertificateExpired | -7545 | The certificate was expired. |
KErrSSLAlertCertificateUnknown | -7546 | An unspecified problem withthe certificate. Certificate can not be used. |
KErrSSLAlertIllegalParameter | -7547 | A field in the handshake was out of range or inconsistent with other fields. |
KErrSSLAlertUnknownCA | -7548 | Either the CA certificate could not be located or the CA could not be matched with a known trusted CA. |
KErrSSLAlertAccessDenied | -7549 | A valid certificate was received, but the access control denied access. |
KErrSSLAlertDecodeError | -7550 | A message could not be decoded, e.g. some field was out of the specified range. |
KErrSSLAlertDecryptError | -7551 | A handshake cryptographic operation failed. |
KErrSSLAlertExportRestriction | -7560 | A negotiation was not allowed due to export restrictions. |
KErrSSLAlertProtocolVersion | -7570 | The protocol version was not supported, e.g. the client has attempted to negotiate a recognised, but unsupported protocol. |
KErrSSLAlertInsufficientSecurity | -7571 | Returned instead of KErrSSLAlertHandshakeFailure when the negotiation fails because the server requests ciphers more secure than those supported by the client. |
KErrSSLAlertInternalError | -7580 | An internal error. |
KErrSSLAlertUserCanceled | -7590 | This handshake is being cancelled by the user. |
KErrSSLAlertNoRenegotiation | -7600 | No renegotiation will be accepted. |
SyncML
KErrTransportRequest | -8321 | The transport cannot send data as created. |
KErrTransportHeader | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-8322 | The transport has not been suitably configured. |
KErrTransportSvrNoUri | -8323 | The URI does not exist. |
KErrTransportSvrError | -8324 | There was a transport server error. |
KErrTransportAuthenticationFailure | -8325 | Transport Authentification failure. |
KErrTransportDisconnected | -8326 | Transport disconnected the session. |
KErrSyncEngineErrorBase | -8327 | Base value for engine-related errors. |
KErrConnectionError | -8328 | Transports could not connect to the server. |
KErrCannotCommunicateWithServer | -8329 | Could not communicate with the server: possibly a time-out occurred. |
KErrDatabaseAdapterIndexError | -8330 | Database adapter failed to create an item. |
KErrParseCallbackError | -8331 | Currently unused. |
KErrCommandInvalid | -8332 | Currently unused. |
KErrSessionIdNotValid | -8333 | Invalid session ID. |
KErrVerDTDMissing | -8334 | SyncML message did not specify a DTD version. |
KErrProtoMissing | -8335 | SyncML message did not specify a protocol. |
KErrSyncHdrMissing | -8336 | Currently unused. |
KErrTargetLocMissing | -8337 | SyncML message did not specify a target location. |
KErrSourceLocMissing | -8338 | SyncML message did not specify a source location. |
KErrTargetLocNameMissing | -8339 | Currently unused. |
KErrSourceLocNameMissing | -8340 | Currently unused. |
KErrMappingInfoMissing | -8341 | Mapping of added item could not created. |
KErrMappingInfoNotAcked | -8342 | Mapping has not been acknowledged by the server. |
KErrVersionDTDNotSupported | -8343 | SyncML message specified an unsupported DTD version. |
KErrProtoNotSupported | -8344 | SyncML message specified an unsupported protocol. |
KErrStatusCommandForCommandNotSent | -8345 | A status was received for a cmdId, butthis cmdIdwas not sent. |
KErrStatusCommandNotTheSame | -8346 | A status was received but the commandstringdoesnot matched the received one. |
KErrMissingStatusCommands | -8347 | Status command(s) were expected but are missing. |
KErrFailedToAddRecord | -8348 | Failed to add record in database. |
KErrFailedToReplaceRecord | -8349 | Failed to replace record in database. |
KErrFailedToDeleteRecord | -8350 | Failed to delete record in database. |
KErrXmlParsingError | -8351 | XML parsing error. |
KErrReferenceToolkitError | -8352 | There was an error reported in the reference toolkit. |
KErrClientDatabaseNotFound | -8404 | No suitable database was found on the client device. |
KErrServerDatabaseNotFound | -8405 | No suitable database was found on the server. |
KErrDevInfFileNotFound | -8406 | Currently unused. | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrObjectTooLargeToSendToServer | -8407 | Object is too large to send to server. |
KErrSlowSync | -8408 | Sync is going to be slow. |
KErrFailedToGetRecord | -8409 | Failed to get record from DevMan. |
KErrUserInteractionFailed | -8410 | User interaction failed. |
KErrStatusSizeMismatch | -8411 | Large object size mismatch. |
KErrFailedToCloseDatabase | -8412 | Data Provider close failed. |
KErrMessageTooShort | -8451 | Push message is too short |
KErrMessageIsCorrupt | -8452 | Push message is corrupt |
KErrBadTransportId | -8453 | Profile has no Transport ID |
KErrNoNotificationBody | -8454 | Push message has no body |
KErrWrongVersion | -8455 | Push message specifies an unsupportedversion |
KErrUnsupportedMimeType | -8456 | Push message specifies an unsupportedversion |
KErrNoSuchTask | -8457 | Currently unused |
KErrUnknownSyncType | -8458 | Push message specifies an unknown typeof sync |
KErrUnknownProfile | -8459 | Push message specifies an unknown profile |
KErrInvalidProfile | -8460 | Currently unused |
KErrInvalidCredentials | -8461 | Unsupported (USERNETWPIN or USERPIN) securitymechanism specified |
KErrNoCredentials | -8462 | Currently unused |
KErrIntegrityFailureHMAC | -8463 | Failed to verify the generated HMAC value |
KErrMustUsageUriNotComplete | -8464 | Currently unused |
KErrDMAccUriIsCorrupt | -8465 | Push message has invalid DM account URI |
KErrDMConUriIsCorrupt | -8466 | Push message has invalid DM connectionURI |
KErrParmNameNotInProvDoc | -8468 | Push message has missing characteristic |
KErrInvalidAppIdValue | -8469 | Push message has missing or invalid App Id |
KErrInvalidToNapIdValue | -8470 | Push message has missing or invalid TO-NAPID |
KErrInvalidProviderIdValue | -8471 | Push message has missing or invalid Provider-ID |
KErrEmptyAauthLevelValue | -8472 | Push message has missing or invalid AAUTHLEVEL |
KErrAppSrvAAuthLevelNotFound | -8473 | Push message has missing or invalid APPSRV |
KErrClientAAuthLevelNotFound | -8474 | Push message has missing or invalid AppAuth Client |
KErrInvalidAppAuth | -8475 | Currently unused |
KErrNoApplicationCharac | -8476 | Push message has missing or invalid APPLICATION characteristic |
KErrNoAppAuthCharac | -8478 | Push message has missing or invalid APPAUTH characteristic |
KErrMissingRequiredParmInSvr | -8480 | Currently unused |
KErrMissingRequiredParmInClient | -8481 | Currently unused |
KErrAppAddrCharacNotFound | -8484 | Missing APPADDR characteristic or subcharacteristic | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrUnsupportedVersion | -8485 | Unsupported WBXML version |
KErrWrongProvPublicDocId | -8486 | Prov Document identifier not WAP Provisoningversion 1.0 |
KErrProfileNotFound | -8501 | The requested profile does not exist |
KErrConnectionNotFound | -8502 | The requested connection does not exist within the profile |
KErrTaskNotFound | -8503 | The requested task does not exist within theprofile |
KErrTransportNotFound | -8504 | The requested transport adaptor does not exist |
KErrDataProviderNotFound | -8505 | The requested data provider does not exist |
KErrJobNotFound | -8506 | The requested job has completed |
KErrObjectPendingDelete | -8507 | The requested object is pending deletion |
KErrObjectInUse | -8508 | The object to modify or delete is currently in use |
KErrProfileAccessDenied | -8509 | The specified profile is not available, e.g. a Device Management profile, or open foredit by another client |
KErrSuspended | -8510 | The requested data stream cannot be found intheData Store |
KErrDataDepotStreamNotFound | -8511 | The requested data stream cannot be found intheData Store |
XML Parser
KErrXMLBadAttributeValue | -9001 | XML attribute value |
KErrXMLBadAttributeName | -9002 | XML attribute name |
KErrXMLInvalidChild | -9003 | Invalid XML child element |
KErrXMLBadNesting | -9004 | XML element nesting |
KErrXMLIncomplete | -9005 | XML element incomplete |
KErrXMLBadElementName | -9006 | XML element name |
KErrXMLDuplicateDocTypeTags | -9007 | Error code that indicates that more than one DOCTYPE tag has been encountered: the first one encountered will be used |
KErrXMLDuplicateVersionTags | -9008 | Error code that indicates that more than one XML version tag has been encountered: the first one encountered will be used |
KErrXMLDuplicateRootElements | -9009 | Error code that indicates that more than one element has been encountered at the root of the document |
KErrXMLMissingDocTypeTag | -9010 | Error code that indicates that no DOCTYPE tag was encountered |
KErrXMLMissingVersionTag | -9011 | Error code that indicates that no XML version tag was encountered |
KErrXMLDuplicateAttributeName | -9012 | Error code that indicates that an element has two or more entries for the same attribute |
KErrXMLMultipleRootElements | -9013 | Error code that indicates there is no single root element |
KErrXMLCorruptFile | -9014 | Error code that indicates spurious characters have been found. This may occur as the result of a missing or an extra attribute or element delimiter |
KErrXMLIllegalCharacter | -9015 | Error code that indicates a built-in entity or element / attribute delimiter is at an inappropriate place |
KErrXMLBadEntity | -9016 | |
KErrXMLInvalidElement | -9017 | Error code that indicates an element was found to be invalid by the DTD | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KErrXMLInvalidAttribute | -9018 | Error code that indicates an attribute was found to be invalid by the DTD |
MMS Server MTM
KMmsErrUnspecified | -9100 |
KMmsErrServiceDenied | -9101 |
KMmsErrMessageFormatCorrupt | -9102 |
KMmsErrSendingAddressUnresolved | -9103 |
KMmsErrMessageNotFound | -9104 |
KMmsErrNetworkProblem | -9105 |
KMmsErrContentNotAccepted | -9106 |
KMmsErrUnsupportedMessage | -9107 |
KMmsErrInvalidPDU | -9108 |
KMmsErrNoData | -9109 |
KMmsNoResponseStatus | -9110 |
WAP Engine Errors
EWapErrGeneral | -10000 | "A general error has occurred" |
EWapErrDocumentNotFound | -10001 | "The requested document cannot be found" |
EWapErrDocumentCorrupted | -10002 | "This document is corrupt and cannot be read" |
EWapErrAccessViolation | -10003 | "Access to this document has been denied" |
EWapErrDataCallDropped | -10004 | "The data call has been closed" |
EWapErrDataCallUnavailable | -10005 | "The data call is being used by another application" |
EWapErrScriptNotFound | -10006 | "The requested script has not been found" |
EWapErrScriptError | -10007 | "This script has returned a fatal error" |
EWapErrScriptCorrupt | -10008 | "There is an error in this script" |
EWapErrScriptIllegalAction | -10009 | "The script attempted an illegal action and has been terminated" |
EWapErrScriptObscureLibraryCall | -10010 | "The script has attempted a function which is unavailable" |
EWapErrAuthorizationFailed | -10011 | "Authorization has failed" |
EWapErrProtocolNotSupported | -10012 | "The current network does not support the requested service" |
EWapErrAccessPointNotSetUpGeneric | -10013 | "Access point information is missing" |
EWapErrAccessPointNotSetUpForUSSD | -10014 | "Access point information is missing (USSD)" |
EWapErrAccessPointNotSetUpForSMS | -10015 | "Access point information is missing (SMS)" |
EWapErrAccessPointNotSetUpForCSD | -10016 | "Access point information is missing (CSD)" |
EWapErrImageConversionFailed | -10017 | "Image conversion has failed" |
EWapErrPluginNotFound | -10018 | "The requested plugin has not been found" |
EWapErrCorruptUrl | -10019 | "Part of the URL contains invalid characters" |
EWapErrCorruptScheme | -10020 | "Part of the scheme contains invalid characters" |
EWapErrUnknownScheme | -10021 | "Unknown scheme" |
EWapErrDTDUnavailable | -10022 | "Document cannot be validated as DTD is not available" |
EWapErrInvalidDTD | -10023 | "DTD is invalid" |
扩展:symbian os / symbian os软件下载 / sql error codes.xml EWapErrUnknownDocument | -10024 | "The document requested cannot be found" |
EWapErrMimeTypeMissing | -10025 | "MIME information is missing" |
Crypto API
KErrBadPassphrase | -11000 |
KErrTotalLossOfEntropy | -11001 |
KErrKeyNotWeakEnough | -11002 |
KErrInvalidPadding | -11003 |
KErrWeakKey | -11004 |
KErrNegativeExportNotSupported | -11005 |
KErrKeyAlgorithm | -11006 |
KErrKeyUsage | -11007 |
KErrKeyValidity | -11008 |
KErrKeySize | -11009 |
KErrKeyAccess | -11010 |
KErrPrivateKeyNotFound | -11011 |
MMS Errors - possibly outdated?
KMmsGeneralError | -11000 |
KMmsErrorNoWAPAccessPoint | -11001 |
KMmsErrorUrisDontMatch | -11002 |
KMmsErrorNoIAP1 | -11003 |
KMmsErrorNoIAP2 | -11004 |
KMmsErrorAP1Invalid | -11005 |
KMmsErrorAP2Invalid | -11006 |
KMmsErrorMessageTooBig | -11007 |
KMmsErrorUnknownMessageType | -11008 |
KMmsErrorDiskSpaceLow | -11009 |
KMmsErrorStatusUnspecified | -11010 |
KMmsErrorStatusServiceDenied | -11011 |
KMmsErrorStatusMessageFormatCorrupt | -11012 |
KMmsErrorStatusMessageAddressUnresolved | -11013 |
KMmsErrorStatusMessageNotFound | -11014 |
KMmsErrorStatusNetworkProblem | -11015 |
KMmsErrorStatusContentNotAccepted | -11016 |
KMmsErrorStatusUnsupportedMessage | -11017 |
KMmsErrorHTTPConfiguration | -11018 |
KMmsErrorHTTPNotFound | -11019 |
KMmsErrorHTTPServerDown | -11020 |
KMmsErrorWapStack | -11021 |
KMmsErrorSessionAlreadyOpen | -11022 |
KMmsErrorSessionNotOpen | -11023 |
KMmsErrorBearerSuspended | -11024 |
KMmsErrorTimeout | -11025 |
KMmsErrorSuspendTimeout | -11026 |
KMmsErrorUnknownRespFromGw | -11027 |
KMmsErrorTransferCancelled | -11028 |
KMmsErrorBufferEmpty | -11029 |
KMmsErrorConnectionAlreadyActive | -11030 |
KMmsErrorNoWapAp1 | -11031 |
KMmsErrorNoURI1 | -11032 |
KMmsErrorNoURI2 | -11033 |
KMmsErrorNotHomeNetwork | -11034 |
KMmsErrorInvalidSettings | -11035 |
KMmsErrorEMRUExceeded | -11036 |
Compression/Decompression - ZLib/GZip
KEZlibErrStream | -11501 |
KEZlibErrData | -11502 |
KEZlibErrBuf | -11503 |
KEZlibErrVersion | -11504 |
KEZlibErrUnexpected | -11505 |
KEZlibErrDeflateTerminated | -11506 |
KEZlibErrInflateTerminated | -11507 |
KEZlibErrInflateDictionary | -11508 |
KEZlibErrNotGZipFile | -11509 |
KEZlibErrInvalidCompression | -11510 |
KEZlibErrBadGZipHeader | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-11511 |
KEZlibErrBadGZipTrailer | -11512 |
KEZlibErrBadGZipCrc | -11513 |
Multimedia Framework
KErrMMNotEnoughBandwidth | -12000 | Not enough network bandwidth |
KErrMMSocketServiceNotFound | -12001 | Error locating network socket services |
KErrMMNetworkRead | -12002 | An error occurred while reading data from the network |
KErrMMNetworkWrite | -12003 | An error occurred while writing data to the network |
KErrMMServerSocket | -12004 | Invalid socket error or an error occurred while creating a network socket |
KErrMMServerNotSupported | -12005 | Streaming Server not supported |
KErrMMServerAlert | -12006 | Server alert |
KErrMMUDPReceive | -12007 | Player cannot receive UDP data packets |
KErrMMInvalidProtocol | -12008 | Network transport not recognized |
KErrMMInvalidURL | -12009 | Invalid URL |
KErrMMMulticast | -12010 | An error occured attempting to join or access multicast session |
KErrMMProxyServer | -12011 | Proxy status error, Proxy invalid response error or invalid hostname for proxy |
KErrMMProxyServerNotSupported | -12012 | Client cannot support proxy server |
KErrMMProxyServerConnect | -12013 | Unable to locate proxy server or Proxy connection could not be established |
KErrMMAudioDevice | -12014 | Cannot open audio device, or lost control of audio device |
KErrMMVideoDevice | -12015 | Problem blitting video to display |
KErrMMDecoder | -12016 | Invalid decoder, decoder not properly initialized, or appropriate decoder could not be found |
KErrMMPartialPlayback | -12017 | Only able to play either the audio or the video portion of the media file. Could be due to a codec that isn’t supported, the video frame size being too large etc |
KErrMMDRMNotAuthorized | -12018 | Digital Rights have expired |
WML Errors (outdated?)
Parser | |
EWapErrWmlLibNullNode | -12000 |
EWapErrWmlLibCDATANodeWithoutParent | -12001 |
| |
Validator | |
EWapErrWmlLibAccessViolation | -12101 |
EWapErrWmlLibInvalidVariableReference | -12102 |
EWapErrWmlLibInvalidConversionMethod | -12103 |
EWapErrWmlLibIllegalVariableName | -12104 |
EWapErrWmlLibIllegalTaskCountOnAnchor | -12105 |
EWapErrWmlLibNULLVariableName | -12106 |
EWapErrWmlLibNestedTables | -12107 |
EWapErrWmlLibDuplicateDoNodeName | -12108 |
EWapErrWmlLibUsageOfReservedWord | -12109 |
EWapErrWmlLibZeroTableColumns | -12110 |
EWapErrWmlLibNonWmlDocument | -12111 |
EWapErrWmlLibMultipleMetaPropertyName | -12112 |
EWapErrWmlLibEventBindingConflict | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
-12114 |
EWapErrWmlLibMultipleAccessElements | -12115 |
EWapErrWmlLibNonUniqueIds | -12116 |
EWapErrWmlLibVariableInInvalidLocation | -12117 |
XML Errors
Parser | |
EWapErrXmlLibMissingCDATASectionEndTag | -13000 |
EWapErrXmlLibInvalidAttributeDeclaration | -13001 |
EWapErrXmlLibEndTagMismatch | -13002 |
EWapErrXmlLibInvalidCharacterReference | -13003 |
EWapErrXmlLibUnknownEntityReference | -13004 |
EWapErrXmlLibNoDTD | -13005 |
EWapErrXmlLibMissingDocumentRootNode | -13006 |
EWapErrXmlLibInvalidXmlVersionDefinition | -13007 |
EWapErrXmlLibRootElementNameMismatch | -13008 |
| |
Validator | |
EWapErrXmlLibIllegalTagName | -13100 |
EWapErrXmlLibIllegalFixedAttributeValue | -13101 |
EWapErrXmlLibMissingRequiredAttribute | -13102 |
EWapErrXmlLibMissingDocument | -13104 |
EWapErrXmlLibInvalidDocumentStructure | -13106 |
EWapErrXmlLibIllegalAttributeValue | -13107 |
| |
XmlLib | |
EWapErrXmlLibInvalidDocument | -13200 |
EWapErrXmlLibDocumentBuffered | -13201 |
EWapErrXmlLibDocumentAlreadyValid | -13202 |
EWapErrXmlLibInvalidDTD | -13203 |
ECOM Error Codes
KEComErrAlreadyReceiving | -17001 | |
KEComErrUnknownService | -17002 | The Client requested a service which is not supplied by this framework The Client requested a service which is not supplied by this framework |
KEComErrInvalidUnloadPolicy | -17003 | The Client requested a service which is not supplied by this framework |
KEComErrNoInterfaceIdentified | -17004 | The call to instantiate an Interface Implementation failed because no registrations exist for this interface |
KEComErrEnableFailed | -17005 | The call to Enable the registered Interface Implementation failed |
KEComErrDisableFailed | -17006 | The call to Disable the registered Interface Implementation failed |
KEComErrNoRegistrationsFound | -17007 | The call to instantiate an Interface Implementation failed because no appropriate implementation was found |
KEComErrInvalidIIC | -17008 | An attempt has been made to load an implementation contained within a dll which no longer exists (deleted or is on a CF card that has been removed) |
KEComErrUninstallFailed | -17009 | The call to Remove the registered Interface Implementation failed |
KEComErrReinstallFailed | -17010 | The call to Re-register an Interface Implementation failed |
KEComErrRegistrationFailed | -17011 | The call to Register an Interface Implementation failed |
KEComErrNotConnected | -17012 | The client does not have a session open with theframework |
KEComErrReferenceCountInvalid | -17013 | The Interface Implementation reference count is invalid | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
KEComErrNoResolver | -17014 | The Non-Default resolver could not be instantiated. The most likely situation is that an incorrect implementation uid was supplied |
KEComErrSuspendFailed | -17015 | The call to Suspend registration activities failed |
KEComErrResumeFailed | -17016 | The call to Resume registration activities failed |
KEComErrDestructionFailed | -17017 | The Interface Implementations destruction could not be recorded |
KEComErrDriveAlreadyInstalled | -17018 | An attempt has been made to add a drive to the registry which already exists |
KEComErrDriveNotFound | -17019 | An attempt has been made to update registry information for a dll on a drive that does not exist |
KEComErrIndexEntryNotFound | -17020 | |
KEComErrNoRegistrationData | -17021 | An IIC has been found which does not have a corresponding registration information file |
KEComErrInvalidRegistryData | -17022 | An attempt has been made to update the registry information for a non-existent DLL. An ECom internal error |
KEComErrMismatchedTags | -17023 | |
KEComErrInstantiationPointerNotFound | -17024 | |
KEComErrInstantiationPointerNotAvailable | -17025 | |
KEComErrTooManyNotificationsOutstanding | -17026 | The client has requested too many notifications. ECom can only support a finite number of notifications |
KEComErrDestroyingWithNullDtorKey | -17027 | The client called DestroyedImplementation with a destruction key of NULL. This is an irrecoverable error because the object cannot be deleted |
KEComErrMissingParameter | -17028 | An ECom service was requested with an essential parameter missing. For example, this error code will be supplied when calling an overload of CreateImplementationL which uses a non-default resolver if you fail tosupply the resolver |
KEComErrListInvalidAwaitNotification | -17029 | The registry index is invalid but the client has requested notifications - so they will receive a notification when the indexis ready again |
KEComErrListCurrentlyUnavailable | -17030 | The registry index is invalid and the client has not requested notifications. They will have to try again later after discoveries have completed |
HTTP Errors
EHttpGeneralError | -20000 | "A general error has occurred" |
EHttpCannotFindServer | -20001 | "The URL specified a non-existent or inaccessible server" |
EHttpCannotFindPlugin | -20002 | "The plugin name/type was not found on the device" |
EHttpUnsupportedMethod | -20003 | "The method requested is not supported" |
EHttpWapAPReadFailure | -20004 | "Access point information is missing" |
EHttpNetDialSetupFailed | -20005 | "Net dial setup has failed" |
EHttpWtlsConfigFailed | -20006 | "The WAP stack has been configured incorrectly for WTLS" |
EHttpWtlsBadServerCert | -20007 | "The WAP stack has rejected the gateway certificate" |
EHttpWtlsServerCertRejected | -20008 | "The security certificate has been rejected and the session will be aborted" |
EHttpWtlsCipherRejected | -20009 | "The session has been aborted due to low security status" | 扩展:symbian os / symbian os软件下载 / sql error codes.xml
EHttpGatewayCannotBeReached | -20010 | "A session could not be established with the WAP Gateway" |
EHttpGatewayTransactionAbort | -20011 | "A transaction was aborted by the gateway or the stack" |
EHttpGatewaySessionDisconnect | -20012 | "The session was disconnectedby the WAP Gateway" |
EHttpCancellationAbort | -20013 | "Error code for leave when cancellation has occured during RunL()" |
EHttpReceivingErrorDeck | -20014 | "Could not find document, so receiving an error deck" |
HTTP Status Code 400 | -20400 | "The request sent does not use the correct syntax" |
HTTP Status Code 401 | -20401 | "Unauthorized request, authentication must be used" |
HTTP Status Code 402 | -20402 | "Payment is required for this action to succeed" |
HTTP Status Code 403 | -20403 | "The document requested cannot be disclosed by the server" |
HTTP Status Code 404 | -20404 | "The document requested cannot be found on the server" |
HTTP Status Code 405 | -20405 | "The methodrequested is not currentlyallowed" |
HTTP Status Code 406 | -20406 | "The header information of the returned resource is incorrect" |
HTTP Status Code 407 | -20407 | "Proxy authentication is required" |
HTTP Status Code 408 | -20408 | "The request has timed out" |
HTTPStatus Code 409 | -20409 | "A Conflict has occurred" |
HTTP Status Code 410 | -20410 | "The document requested cannot be found on the server" |
HTTP Status Code 411 | -20411 | "Length is required here" |
HTTP Status Code 412 | -20412 | "A precondition has not been met" |
HTTP Status Code 413 | -20413 | "The request entity is too large" |
HTTP Status Code 414 | -20414 | "The URL requested is too long" |
HTTP Status Code 415 | -20415 | "The media type requested is unsupported" |
HTTP Status Code 500 | -20500 | "An internal server error has occurred" |
HTTP Status Code 501 | -20501 | "An internal server error has occurred" |
HTTP Status Code 502 | -20502 | "An error has occurred within the WAP gateway" |
HTTP Status Code 503 | -20503 | "The service requested is unavailable" |
HTTP Status Code 504 | -20504 | "The connection to the gateway has timed out" |
HTTP Status Code 505 | -20505 | "This HTTP version is not supported" |
扩展:symbian os / symbian os软件下载 / sql error codes.xml
二 : Symbian OS 开发初级手册
Symbian OS 开发初级手册 (1) Introduction
Symbian OS是当前应用最为广泛的smart phone操作系统。 Nokia,Panasonic,Siemens,Sony Ericsson的很多手机都是基于这个系统的。 可惜国内关于Symbian OS 开
发的资料实在很少。 所以我打算根据自己的(浅薄)的经验写一套初级教程,让更多的人了解Symbian OS.
说起Symbian OS, 大概很多人都会想到Nokia Series 60, 80等等。 每一个symbian 联盟手机厂商都会在纯粹的Symbian OS上面添加自己的东西。 Series 60 是Nokia
的一个非常流行的软件开发包,7650, 3650, N-gage等等都基于它。我在这里使用的例子都可运行于Series 60. 但是我在这里讲的概念是纯粹的Symbian OS 而不是
series 60, 这样的好处在于:有了这个基础, 我们可以为任何一个使用Symbian OS 的手机开发, 而不会局限于某些Series 60等特殊的API。这样可以使你的开发
成果能够运行于更多的设备上。
那么首先我们需要Series 60 SDK, 在 下载,安装sdk,详细步骤我就不在这里描述了。 如果有什么问题可
以在这里问我。
安装之后,要测试基本路径是不是设置好了。 打开一个命令行窗口,输入 epoc , 如果你看到模拟器运行, 就说明已经安装好了。如果没有的话,请在提问的时候
提供错误信息。
有了SDK,我们就已经可以开始开发了! 但是开发环境是很重要的, 任何Symbian OS程序都要涉及多个文件,Symbain 建议使用 Metrowork Codewarrior, 不过考虑
VC6的普及程度应该更高,我在这里使用Visual C++ 6.0. 你也可以使用VC. Net, 不过目前中文sdk不支持vc7, 你需要下载英文版的。 以后命令行出现vc6的时候你
就要使用vc7。
在讲解我们的第一个hello world程序之前, 我要简单说一下Symbian OS 工程的文件结构, 我们一共需要创建4种文件:
bld.inf 配置文件
*.mmp 工程文件
*.cpp 源代码文件
*.h 头文件
我们的hello world项目中, bld.inf 如下:
PRJ_MMPFILES
HelloWorld.mmp
只有简单的两行, 意思是: 这个配置文件将编译的工程有:Helloworld.mmp. Helloworld.mmp 稍微复杂一些,暂时不在这里讲解,你只需要知道它定义工程中都包括
哪些源文件,哪些头文件,哪些lib文件就可以了。
基本的helloworld例子C:/Symbian7.0s/Series60_v21_C/examples/Basics/helloworld. 如果你的安装路径不同,需要相应改变。 由于实在很简单, 这大概是所有例
子中唯一没有头文件的项目。Helloworld.cpp 如下:
#include "CommonFramework.h"
LOCAL_C void doExampleL()
{
_LIT(KHelloWorldText,"Hello world! ");
console->Printf(KHelloWorldText);
}
在我们讲解Descriptor之前你只需要知道_LIT把 "Hello world! "这个普通字符串转换成了Symbian OS的字符串格式,并储存在变量KHelloWorldText当中。 console
->Printf(..)就是向命令行打印这个字符串。
那么现在我们需要编译这个工程,在命令行中进入examples/Basics/helloworld,输入bldmake bldfiles, 然后abld makefile vc6, 这是创建VC工程文件的基本步骤。
然后打开Visual studio,打开工作区, 在
C:/Symbian/7.0s/Series60_v21_C/Epoc32/BUILD/SYMBIAN/7.0S/SERIES60_V21_C/EXAMPLES/BASICS/HELLOWORLD/HELLOWORLD/WINS 中。
分析一下这个巨长的路径你会发现,其实分为4段:
1。 C:/Symbian7.0s/Series60_v21_C/Epoc32 是全局环境变量%EPOCROOT%的所在,后我们在说这个路径的时候就用%EPOCROOT%代替。
2。build 这个目录存放abld 生成的项目文件。
3。SYMBIAN/7.0S/SERIES60_V21_C/EXAMPLES/BASICS/HELLOWORLD 是你的工程所在目录。
4。HELLOWORLD/WINS 是Helloworld项目, windows 模拟器,如果你为手机编译的话,就会是Helloworld/thumb.
然后运行的时候会弹出一个对话框要求可执行文件。 输入 %EPOCROOT%/release/wins/udeb/epoc.exe 然后你就会看到熟悉的"hello world"出现在s60模拟器上了!
先写到这里吧,但愿这些文字对大家有一点用处。 下一次我将介绍Symbian OS 的基本类型 和 代码规范
[这个blogger不能处理反斜线, 所以我只好用 ‘/‘代替!]
常见问题:
1。各种编译问题
请确定你已经安装:
visual studio 6, Active Perl, Series 60 SDK
建议VC, Series 60, 还有你以后写的代码都放到同一个分区下, 可以省去设置上的一些麻烦。
visual studio 6的路径需要设置, 如果没有的话在 系统->高级->环境变量->Path 中添加,详细请看下边评论。
Symbian OS 开发初级手册 (2)基本数据类型
Symbian OS 使用的是面向对象的C++, 但是又和标准的C++有一些区别。 比如Symbian OS没有标准的异常处理(Exception), 因为设计Symbian OS的时候还C++还没有
把异常处理标准化。 所以Symbian设计了自己得异常处理机制: TRAP, leave. 另外就是今天要讲的基本类型。 Symbian 基本上不使用任何标准的C++基本类型, 众所
周知,不同的C++编辑器对int, unsigned int的长度理解不同, 所以Symbian OS中使用 TInt8,TInt16,TInt32。
但是如果你么没有很好的理由是用某一特定的长度时,要使用TInt. 其他很多类型也遵守这个原则。 比如以后要讲的TBuf8, TBuf16可最好用为TBuf.
类型 描述
TInt8, TUint8 8位 整数
TInt16, TUint16 16位 整数
TInt32, TUint32 32位 整数
TInt, TUint (32位)整数
TReal32, TReal64 实数
TText8, TText16 字符, 相当于 unsigned char, unsigned short int
TBool 布尔
TAny 相当于void
代码规范
Symbian OS 使用很多代码规范, 使用他们可以增强Symbain 代码的可读性, 有些规范甚至是需要严格遵守的, 比如类的命名:
Symbian OS的类一共有6种:
种类 例子 描述
T classes TDesC, TPoint 这个类可以向基本类型一样使用,因为他们通常很小,而且不使用heap所以也没有析构函数
C classes CConsoleBase, CActive 这个类是Symbian使用最多的类,C代表他们从CBase类继承而来, 他们必须有析构函数因为他们的对象创建在heap中
R classes RFile, RTimer R代表资源(Resource),它们只是一个系统资源的句柄,他们本身被创建在Stack上, 但是他们所使用的资源被创建在heap上,使用完毕需
要Close()
M classes MEikMenuObserver 这个类是一个空的接口,使用的时候需要从它继承
static classes User, Math 这个类只有静态函数, 一般都是库函数
Structs SEikControlInfo c - struct
变量命名:
种类 例子 描述
枚举 EMonday,ETuesday E代表枚举
定量 KMaxFileName K代表定量
成员变量 iDevice, iX i代表成员变量
参数 aDevice, aX a代表参数
局部变量 device, x 局部变量没有固定的规范
另外还用函数的命名, 但是要讲过leave的概念后才可以理解,所以这里先不介绍。 这一课很枯燥,但是理清了一些概念,下一课我们来仔细的看一下图形界面的
Helloworld.
Symbian OS 开发初级手册 (3)GUI程序中的4个基本类
图形界面的HelloWorld比文字版复杂了许多! 做过windows图形和命令行程序的人们应该可以很容易的理解这一点。这个Helloworld一共有4个类, 他们是Symbian OS
中任何图形程序都不可少的4个基本类。他们建立了图形界面程序的基本框架, 使得程序员们很容易就知道某些代码应该放在什么地方, 比如绘图的代码就应该放在
View里边, 同样当我们去读一个程序的时候, 如果我们在意的是程序的数据结构,就该去看Document类的实现。
CExampleApplication
Application 类一共有两个作用:第一个是设置这个应用程序的属性, 比如UID, 每一个应用程序都有其独特的UID. const TUid KUidHelloWorld = { 0X10008ACE
};KUidHelloWorld就是这个Helloworld的UID.,AppDllUid() 向高层的框架提供这个应用程序的UID, 框架就用此来识别我们的程序。 另外就是制造一个Document类
的实例, 因此我们只需要两个函数:AppDllUid 和 CreateDocument。CExampleApplication 从 CEikApplication继承而来,很多不需要我们定义函数都被包含在
CEikApplication中
CExampleDocument
Document 类是应用程序的数据模型,如果这个程序是以文件为基础的,它负责程序的文件操作。 我们的Helloworl不涉及到任何文件,但是我们仍然需要这个个类,
因为它还负责制造UI类的实例。
CExampleAppUI
UI类尽管名字是“用户界面“, 他并不是可视的组件,它制造View类的实例, 而它更重要的任务是分派命令和事件, 比如菜单命令就由UI来决定怎样处理,分配到
什么类,什么函数。 又如键盘事件由UI来决定分派到那个控件去处理。HandleCommandL() 这个函数就是用来处理命令的。
CExampleAppView
View 类是可视的控件, 它负责屏幕显示,同时也可以提供相应的函数来响应相关的事件。描绘用的代码就放在Draw函数中
这4个类的声明都放在相应的头文件中, 实现在相应的cpp中,除此之外,你会发现还有一个源文件:Helloworldbasic.cpp。 这个文件是Helloworld的入口, 它的作
用很简单,就是建立一个Application类的实例。 因此大部分图形界面的工程中这个文件都是差不多的,只是Application类的名字要相应改变。
这一课我们讲了Symbian OS图形程序中4个基本的类以及程序的入口。 下一课我们讲Helloworldbasic中的mmp 文件和pkg文件。 然后我们将概述如何生成sis文件,
也就是手机的安装文件。最后我们的helloworld 就可以在支持symbian 的手机上运行了!
习题:
1. 通过设置断点,观察整个程序的流程, 每一个类被创建的顺序, 在纸上划出流程图。
Symbian OS 开发初级手册 (4) mmp, pkg 文件 和 makesis 工具
这一课我们讲解mmp文件,pkg文件, 以及如何用makesis制作sis文件用来安装程序到手机上。
开始之前,有必要提一下Symbian OS程序的目录规范, 你可以把所有头文件,原文件,mmp文件,资源文件等都放到一个目录下, 但是为了更有效的使用,一般把源
文件放在/src下, 头文件放在/inc, bld.inf,mmp文件放在/group, sis, pkg文件放在/sis下。
首先在group目录中找到Helloworldbasic.mmp文件, 它由一系列的属性组成: Target 这个是目标文件名
TargetType 目标类型,也就是目标文件的扩展名, app代表这是一个图形界面的应用程序(application), 文字界面的那个helloworld就是exe 以后还会看到其他的扩
展名如: dll, agt, prt等等
UID 这里有两个UID, 他们用来独特的识别我们的程序,所有的图形界面程序的第一个UID都是一样的:0x100039CE, 第二个是我们的程序独特的UID,需要从
Symbian申请。 但是在开发阶段可以任意使用0x01000000-0x0ffffff这个范围.
TargetPath 目标文件在安装后的路径
SourcePath 源代码路径, 源代码文件可以存放在多个不同的目录里, 在编译的时候编译器会自动到这些目录寻找
Source 源代码文件
Resource 资源文件, 这个大概超出了本教程的范围,因为这部教程不会详细地将深入讲解如何写图形程序
UserInclude 用户头文件路径, 用于存放用户定义的头文件
SystemInclude 系统头文件路径
Library 这些是你的程序编译所需要的库文件
然后我们概述一下pkg文件, 打开Helloworldbasic.pkg,不难看出凡是以 ‘;‘ 开头的都是注释, &EN代表这里使用的语言是英语,
下面一行是应用程序信息#{"HelloWorldBasic"}是应用程序名称, 0x10005B91 是此程序的UID, 1,0,0是版本号.
下面这一行是你开发用的平台信息 0x101F7960代表Series60 v2.0, "0,0,0"是尚未使用的版本号,它必须是"0,0,0", {"Series60ProductID"} 是平台信息描述, 这个
字符串将在用户试图安装程序到一个不兼容的平台上时出现.
再下面是安装文件, 左边的是目标程序在你的机器上的路径,右边是设备上的路径,HelloWorldBasic.APP 是目标文件, HelloWorldBasic.rsc 是编译过的资源文件.
有了以上的基础,我们就可以编译sis文件了. 一共分为2步:
1. 进入到/group目录下, 输入bldmake bldfiles, 和以前讲过的作用一样, 然后: abld build thumb urel, "abld build"是编译命令, "thumb urel"是编译目标, 一
般手机的格式都是thumb, 用命令行为windows编译的话,就可以用 abld build wins udeb (urel). "udeb" 代表debug build, "urel"代表release build, 前者用于
开发,后者用于发行。
2. 进入/sis, 输入makesis Helloworldbasic.pkg, 然后Helloworldbasic.sis就被创建了。
下面就可以用蓝牙,或者usb等通讯手段将这个sis文件传送到你的symbian 手机上了. 安装,执行, 好运!:)
Symbian OS 开发初级手册 5 - Leave
leave (不知该怎么翻译,就先叫离开吧) 这个词我们在第二课提到过, 知道它是Symbain版本的异常处理。 这一课我们详细讲解它的意义和用法。 首先我们要明白
为什么要离开? 当程序运行到一个地方无法正常继续的时候, 比如内存耗尽, 或者当前状态无法进行某个操作的时候我们不能简单的退出程序,或者忽略这些错误。
前者使得界面不够友好, 而后者可能导致不可估计的问题。 所以我们需要在这一点上离开。 让上一层的使用我们这个函数的代码去处理我们遇到的错误。 上一层代
码可以根据但是的上下环境决定该如何处理这个错误。
离开的基本用法:
假设我们有一个函数提取一个数组的值:
TInt GetL(TInt aIndex)
{
if(aIndex < 0 || aIndex >= KArraySize)
{
User::Leave(KErrArgument);
}
else
{
return iArray[aIndex];
}
}
要使用这个函数, 我们可以:
TInt x, err;
TRAP(err, x = GetL(5);)
if(err != KErrNone)
{
//输出错误信息等等
}
...
首先注意函数名,这是一条规范: 凡是有可能离开的函数,名称都要以L结尾。这包括
在函数实现中使用任何形式的Leave (Leave, LeaveIfNull, LeaveIfError等等)和可leave的函数, 而又没有TRAP掉他们的的函数。
以上的GetL函数当aIndex不在合法范围内的时候就会leave, KErrArgument是其原因(错误的参数)。 使用GetL函数的时候我们可以使用TRAP宏来捕捉离开, 所以当
GetL 离开的时候, 就会输出错误信息等等。 使用GetL的代码并不一定需要TRAP只要把他自己声明为可离开的函数就可以, 但是要保证终归这些函数要被TRAP掉。
图形界面程序的框架在程序入口处提供了TRAP所以我们可以使用离开而不用TRAP一些普遍性的问题(比如内存不足)。但是文字程序一般需要我们自己提供TRAP.
另外还有一点就是, TRAP这个宏必须在一个CTrapCleanup的实例被创建以后才可以使用。 文字Helloworld中使用了头文件commonframework, 在
Examples/basics/commonframework目录下, 我们可以看到:
CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
TRAPD(error,callExampleL()); // more initialization, then do example
//TRAPD是TInt error; TRAP(error,callExampleL()); 的缩写版。
delete cleanup; // destroy clean-up stack
也就是说当你的进程中还没有CTrapCleanup实例的时候, 你需要创建它才可以使用TRAP,当你不再使用TRAP的时候就删除这个实例。
有了离开这个基础,我们下一课就可以讲CleanupStack 和 二层构造的概念了。 之后大家就不会觉得Symbian 程序中实例的构造看起来很复杂了。
习题:
1。 在Helloworld中创建一个可leave的函数, 并在doExampleL()中调用,看看不TRAP它的结果是什么。(也就是依靠commonframework中的TRAP) 然后再doExample
中TRAP它, 看看结果有什么不同?
Symbian OS 开发初级手册 6 CleanupStack and Two-phase
在创建实例的时候Symbian C++使用 new (ELeave) 来代替普通的 new , 比如:
CBar *pBar = new (ELeave) CBar;
这个用法是考虑到手机特殊的属性:内存一般较小, 经常会有内存不足的情况出现。 在pc上如果内存不足我们就会退出程序, 但是在手机不能那样频繁的退出, 所
以内存不足被划分为异常, 需要离开. 下面这个函数就会在内存不足的时候在A行离开:
void FooBarL()
{
CBar *pBar = new (ELeave) CBar; //A
User::LeaveIfError(pBar->Foo()); //B
delete pBar; //C
}
离开 作为异常处理的机制, 存在着一个问题。如果上面这个程序在B行Foo()返回了一个错误值,就会在那一行离开,但是系统为pBar指针分配的内存也就泄漏了。为
了解决这个问题, Symbian 程序中频繁使用CleanupStack(清洁栈). 它的典型使用方式如下:
void FooBarL()
{
CBar *pBar = new (ELeave) CBar; //A
CleanupStack::PushL(pBar);
User::LeaveIfError(pBar->Foo()); //B
CleanupStack::Pop();
delete pBar; //C
}
他的作用就是, 在B行之前, 把pBar指针放到清洁栈上, 一旦B行离开了,清洁栈就会自动删除pBar回收内存, 如果B行顺利通过, 就可以通过pop把pBar拿下来了
。
CleanupStack 有效地解决了这个潜在的内存泄漏问题, 但是这个方法在一个特殊的情况下不适用。 那就是如果一个类的构建函数离开, 那么new 为它分配的内存就
会泄漏。 (构建的顺序是:系统分配内存,然后运行构建函数)
这个问题就导入了下一个概念:two-phase construction (二层构建)
我们的目标是:构建函数在任何情况下不可以离开! 要实现它就必须:
1。 不在构建函数里使用任何L函数
2。 不在构建函数里分配内存
凡是需要以上两个操作的都放到第二层构建函数中:ConstructL. 要把两层构建结合起来,我们需要另一个静态函数,一般为NewL或者NewLC. L大家都知道代表离开,
C代表清洁栈, 下面会详细讲解NewLC的方便之处。(在这里向大家推荐一个很不错的英文Symbian 资料网站:www.61k.com:)
二层构建的基本模式就是:
CHelloWorldBasicAppView* CHelloWorldBasicAppView::NewL(const TRect& aRect)
{
CHelloWorldBasicAppView* self = CHelloWorldBasicAppView::NewLC(aRect);
CleanupStack::Pop(self);
return self;
}
CHelloWorldBasicAppView* CHelloWorldBasicAppView::NewLC(const TRect& aRect)
{
CHelloWorldBasicAppView* self = new (ELeave) CHelloWorldBasicAppView;
CleanupStack::PushL(self);
self->ConstructL(aRect);
return self;
}
void CHelloWorldBasicAppView::ConstructL(const TRect& aRect)
{
// Create a window for this application view
CreateWindowL();
// Set the windows size
SetRect(aRect);
// Activate the window, which makes it ready to be drawn
ActivateL();
}
先看NewLC函数, 它创建一个CHelloWorldBasicAppView的实例, 然后把他放在清洁栈上,然后调用它的第二层构建函数(可以离开的), 然后并没有把实例从清洁
栈上取下就返回了。这样的好处就是如果我们用NewLC创建一个对象,然后调用它的可以离开的函数就不必把它放到清洁栈上,因为它已经在上面了。NewL的功能和
NewLC 是一样的,只是在返回实例前把它取下清洁栈。一般的C类都提供NewL,不是所有的C类都会提供NewLC.
使用清洁栈需要注意:
1. 成员变量一般不需要放在清洁栈上, 因为当执行可离开的成员函数时,它们所在的类的实例本身就应该放在清洁栈上。 所有的成员变量所占的资源都和此实例共
存亡。
Symbian OS 开发初级手册 7 Descriptors
本文简介Descriptor。 Symbian OS 中不使用我们所熟悉的c 字符串(char*) 或者c++ 的string。 Symbian 的字符串是通过descriptor实现的。我们的第一个Symbian
程序,文字版Helloworld中是这样使用的: _LIT(KHelloWorldText,"Hello world!n");
console->Printf(KHelloWorldText);
_LIT()是一个宏,它声明了一个descriptor:KHelloWorldText, 其内容是"Hello world!"。下面console->Printf的参数就是一个descriptor.
Descirptor是一个灵活的设计, 它充分考虑到小型设备的各种局限性。 为此提供了很个类,有些是可以修改的,有些是不能修改的, 有些放在stack上,有些放在
heap上。 NewLC网站上有一个descriptor的结构图:http://www.61k.comarticle.php3?id_article=12 。
其中包含了八个类, 这些并不是全部的descriptor类, 但是已经足够我们课程目前的使用。其中TDesC是最基本的类。 其他所有的descriptor类都是由它继承而来。
TDes是最基本的可以修改的类。凡是以C后缀的类都是不可修改的。
结构图下面是5各最常用的descriptor类的内存示意图。
TBufC<5> 中的5是它的长度, 它表示的是"NewLC"这个字符串, 是不可更改的。
TBuf<8> 8是它的最大长度, 而当前只使用了5个字节,它的内容是可更改的,但是注意内容长度不可以大于他的最大长度
TPtrC 是一个descriptor 指针类, 它是一个不可修改的指针, 指向不可修改的"NewLC"的地址。
TPtr 是一个可修改的descriptor指针类, 指向可修改的"NewLC"的地址。
HBufC 的H代表Heap,是专门用来在Heap上创建字符串, 其他的descriptor类的字符串一般都放在stack上。
一般来说要尽可能的使用heap内存, 因为stack的内存要更有限, 如果在stack上访大量的字符串就很容易导致内存不足。
这些类都由很多函数来使用,修改,查询他们的字符串, 大家可以参考Developer Library中的API Reference.
_LIT()还有一个更简单的版本, helloworld中的两行可以改写为:
console->Printf(_L("Hello world!n"));
三 : Symbian依然是智能机OS大佬
之前有文章称诺基亚大势已去,在中国已失宠于运营商云云,可是根据最新发布的一项调查显示,2011年Symbian市场份额比iOS高出11%,比Android高出约12%,市场份额仍旧排名第一,黑莓最悲催,市场份额下降一半,以下是操作系统2011年从年初到年末的表现情况:
1)Symbian:从年初的30.25%涨到年初的33.59%,上升趋势在后两个月尤为明显。
2)iOS:略有下降,年初为25.02%,前六个月一直在下降,但其后又呈上升趋势。
3)Android:大幅上升,从14.61%上升到21.74%。
4)黑莓:今年走得很坎坷,从年初的15.03%下降到7.86%。
虽然Symbian仍旧占据最大市场,而且在2011年第二季度售出2400万塞班智能机,但未来发展还是未知数。
明年竞争只会越来越激烈,苹果和Google继续纠缠,而Mozilla的Boot to Gecko及Canonical的Ubuntu也将进入竞争,抢夺市场。
Via RP
(annie 供雷锋网专稿,转载请注明!)
本文标题:
symbian os-Symbian OS Error Codes 本文地址:
http://www.61k.com/1109179.html