Each method of the Wireless Communication Library returns an error code. The error code allows you to understand what is going wrong and to recover your application from the wrong state. The error code is the signed integer value with 32 bits (4 bytes) size (it is Integer in Delphi, Int32 in .NET, and int in C++). The error codes are grouped by the framework or subsystem.
On this page you can find the full Wireless Communication Library 8 error codes list and error descriptions. To use the table below, simply convert the decimal error code to hexadecimal and use search by this page. The library also provides methods that allow you to convert error codes to human-readable descriptions. The demo application that shows how to convert an error code to human-readable text is shipped as part of the Wireless Communication Library 8 framework package. By default the demo uses the errors XML file available on our site. However, the Wireless Communication Library 8 package also includes a local copy of that file. You can use this local copy instead of one available on our site.
NOTE: The Wireless Communication Library 7 has different error codes. To find information about Wireless Communication Libraty 7 errors refer to this page.
Common Error Codes
| Value | Constant | Description |
|---|---|---|
| Success results | ||
| 0x00000000 | WCL_E_SUCCESS | The operation was completed successfully. |
| Common errors | ||
| 0x00000001 | WCL_E_INVALID_ARGUMENT | One or more arguments passed to the method/function are invalid. |
| 0x00000002 | WCL_E_OUT_OF_MEMORY | Out of system memory. |
| 0x00000003 | WCL_E_OUT_OF_RESOURCES | Out of system resources. |
| 0x00000004 | WCL_E_NOT_IMPLEMENTED | The method is not implemented yet. |
| WinRT sub-system errors | ||
| 0x00001000 | WCL_E_WINRT_CORE_DLL_NOT_FOUND | The WinRT core DLL was not found. |
| 0x00001001 | WCL_E_WINRT_STRING_DLL_NOT_FOUND | The WinRT string DLL was not found. |
| 0x00001002 | WCL_E_WINRT_INIT_FAILED | WinRT initialization failed. |
| 0x00001003 | WCL_E_WINRT_CREATE_STRING_FAILED | Failed to create string. |
| 0x00001004 | WCL_E_WINRT_ACTIVATE_INSTANCE_FAILED | Failed to activate required class instance. |
| 0x00001005 | WCL_E_WINRT_CREATE_INTERFACE_FAILED | Failed to create required class interface. |
| Message receiver errors | ||
| 0x00002000 | WCL_E_MR_CLOSED | The message receiver has been closed or isn't open. |
| 0x00002001 | WCL_E_MR_OPENED | The message receiver has already been opened. |
| 0x00002002 | WCL_E_MR_NOT_OPENED | The message receiver is not open. |
| 0x00002003 | WCL_E_MR_CREATE_SYNC_OBJ_FAILED | The message receiver failed to create a thread synchronization object. |
| 0x00002004 | WCL_E_MR_SYNC_OBJ_NOT_CREATED | Thread synchronization object was not created. |
| 0x00002005 | WCL_E_MR_SYNCHRONIZE_FAILED | The message receiver failed to synchronize threads and notify the main thread of new messages. |
| 0x00002006 | WCL_E_MR_REGISTER_SYNC_OBJ_FAILED | The message receiver failed to register for thread synchronization. |
| 0x00002007 | WCL_E_MR_INVALID_THREAD | The method was called from an invalid thread. |
| Message broadcaster errors | ||
| 0x00003000 | WCL_E_MB_NOT_CREATED | Message broadcaster not initialized. |
| 0x00003001 | WCL_E_MB_RECEIVER_ALREADY_SUBSCRIBED | Message receiver is already subscribed. |
| 0x00003002 | WCL_E_MB_RECEIVER_NOT_SUBSCRIBED | Message receiver is not subscribed. |
| 0x00003003 | WCL_E_MB_RECEIVER_NOT_FOUND | Message receiver with the specified ID was not found. |
| LAF manager errors | ||
| 0x00004000 | WCL_E_LAF_MANAGER_FEATURE_NOT_SUPPORTED | This platform does not support the LAF. |
| 0x00004001 | WCL_E_LAF_MANAGER_START_THREAD_FAILED | Failed to start LAF manager worker thread. |
| 0x00004002 | WCL_E_LAF_MANAGER_GET_LAF_LIST_FAILED | Failed to access LAF list. |
| 0x00004003 | WCL_E_LAF_NOT_FOUND | The specified LAF ID does not exist or could not be located. |
| 0x00004004 | WCL_E_LAF_OPEN_KEY_FAILED | Failed to access LAF key information. |
| 0x00004005 | WCL_E_LAF_KEY_NOT_FOUND | LAF key not found. |
| 0x00004006 | WCL_E_LAF_ACQUIRE_CONTEXT_FAILED | Failed to acquire encryption context. |
| 0x00004007 | WCL_E_LAF_CREATE_HASH_FAILED | Hash generation failed. |
| 0x00004008 | WCL_E_LAF_CRYPT_HASH_FAILED | Failed to encrypt the hash. |
| 0x00004009 | WCL_E_LAF_GET_CRYPTED_HASH_FAILED | Failed to retrieve encrypted hash. |
| 0x0000400A | WCL_E_LAF_IDENTITY_NOT_FOUND | The application file does not contain the required identity resource. |
| 0x0000400B | WCL_E_LAF_IDENTITY_READ_FAILED | Unable to read identity information (corrupt or missing data). |
| 0x0000400C | WCL_E_LAF_IDENTITY_INVALID | The identity data is malformed or incorrectly structured. |
| 0x0000400D | WCL_E_LAF_IDENTITY_EMPTY | Empty identity. |
| 0x0000400E | WCL_E_LAF_IDENTITY_INVALID_FORMAT | Invalid identity format. |
| 0x0000400F | WCL_E_LAF_UNLOCK_REQUEST_FAILED | Limited access feature unlock request failed. |
| 0x00004010 | WCL_E_LAF_GET_REQUEST_STATUS_FAILED | Failed to retrieve unlock status. |
| 0x00004011 | WCL_E_LAF_LOCKED | LAF is locked. |
| 0x00004012 | WCL_E_LAF_UNAVAILABLE | The LAF is unavailable because it was not found. |
| 0x00004013 | WCL_E_LAF_STATUS_UNKNOWN | Unknown or undefined LAF status. |
Communication errors
| Value | Constant | Description |
|---|---|---|
| Connection errors | ||
| 0x00010000 | WCL_E_CONNECTION_CONNECTED | A connection is connected. |
| 0x00010001 | WCL_E_CONNECTION_NOT_CONNECTED | A connection is not connected. |
| 0x00010002 | WCL_E_CONNECTION_DISCONNECTED | A connection is disconnected. |
| 0x00010003 | WCL_E_CONNECTION_CLOSED | A server connection is closed. |
| 0x00010004 | WCL_E_CONNECTION_LISTENING | A server connection is listening. |
| 0x00010005 | WCL_E_CONNECTION_CREATE_CONNECT_EVENT_FAILED | Create connect processing event failed. |
| 0x00010006 | WCL_E_CONNECTION_TERMINATED_BY_USER | The connection has been terminated by user. |
| 0x00010007 | WCL_E_CONNECTION_SYSTEM_SUSPENDING | A connection was closed (disconnected) because a system is about to enter a suspended state. |
| 0x00010008 | WCL_E_CONNECTION_UNABLE_CREATE_DISCONNECT_EVENT | Unable to create communication termination event. |
| 0x00010009 | WCL_E_CONNECTION_UNABLE_START_COMMUNICATION | Unable to create communication thread. |
| 0x0001000A | WCL_E_CONNECTION_CREATE_INIT_EVENT_FAILED | Create a communication thread initialization event failed. |
| 0x0001000B | WCL_E_CONNECTION_SERVER_CLOSED | A client connection was disconnected because the server was closed. |
| 0x0001000C | WCL_E_CONNECTION_NOT_CREATED | A server client connection object was not created because an accept message was not processed. |
| 0x0001000D | WCL_E_CONNECTION_UNABLE_FIND_CLIENT_CLASS | A server was not able to find a specific client connection class. |
| 0x0001000E | WCL_E_CONNECTION_ACCEPTING_CLIENT | A server connection can not be closed because it is accepting incoming client connection. |
| 0x0001000F | WCL_E_CONNECTION_CREATE_TERMINATION_EVENT_FAILED | Create server termination event failed. |
| 0x00010010 | WCL_E_CONNECTION_DATA_WRITE_FAILED | Data write failed. |
| OBEX errors | ||
| 0x00011000 | WCL_E_OBEX_NOT_CONNECTED | An OBEX client is not connected to an OBEX server. |
| 0x00011001 | WCL_E_OBEX_CONNECTED | An OBEX client is already connected to an OBEX server. |
| 0x00011002 | WCL_E_OBEX_OPERATION_IN_PROGRESS | An OBEX operation is in progress. |
| 0x00011003 | WCL_E_OBEX_CONTINUE | The server has received the request headers and the client should proceed to send the request body (in the case of a request for which a body needs to be sent). |
| 0x00011004 | WCL_E_OBEX_CREATED | The request has been fulfilled, resulting in the creation of a new resource. |
| 0x00011005 | WCL_E_OBEX_ACCEPTED | The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs. |
| 0x00011006 | WCL_E_OBEX_NON_AUTHORITATIVE | The server is a transforming proxy that received a WCL_E_SUCCESS from its origin, but is returning a modified version of the origin's response. |
| 0x00011007 | WCL_E_OBEX_NO_CONTENT | The server successfully processed the request and is not returning any content. |
| 0x00011008 | WCL_E_OBEX_RESET_CONTENT | The server successfully processed the request, but is not returning any content. Unlike a WCL_E_OBEX_NO_CONTENT error, this error requires that the requester reset the object. |
| 0x00011009 | WCL_E_OBEX_PARTIAL_CONTENT | The server is delivering only part of the resource due to a range header sent by the client. The range header is used by OBEX clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams. |
| 0x0001100A | WCL_E_OBEX_MULTIPLE_CHOICES | Indicates multiple options for the resource from which the client may choose. |
| 0x0001100B | WCL_E_OBEX_MOVED_PERMANENTLY | This and all future requests should be directed to the given URI. |
| 0x0001100C | WCL_E_OBEX_MOVED_TEMPORARY | The response to the request can be found under another URI using the GET method. |
| 0x0001100D | WCL_E_OBEX_SEE_OTHER | The response to the request can be found under another URI using the GET method. |
| 0x0001100E | WCL_E_OBEX_NOT_MODIFIED | Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy. |
| 0x0001100F | WCL_E_OBEX_USE_PROXY | The requested resource is available only through a proxy, the address for which is provided in the response. |
| 0x00011010 | WCL_E_OBEX_BAD_REQUEST | The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing). |
| 0x00011011 | WCL_E_OBEX_UNAUTHORIZED | Similar to WCL_E_OBEX_FORBIDDEN, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. |
| 0x00011012 | WCL_E_OBEX_PAYMENT_REQUIRED | Reserved for future use. |
| 0x00011013 | WCL_E_OBEX_FORBIDDEN | The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account of some sort. |
| 0x00011014 | WCL_E_OBEX_NOT_FOUND | The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible. |
| 0x00011015 | WCL_E_OBEX_METHOD_NOT_ALLOWED | A request method is not supported for the requested resource. |
| 0x00011016 | WCL_E_OBEX_NOT_ACCEPTABLE | The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. |
| 0x00011017 | WCL_E_OBEX_PROXY_AUTH_REQUIRED | The client must first authenticate itself with the proxy. |
| 0x00011018 | WCL_E_OBEX_REQUEST_TIMEOUT | The server timed out waiting for the request. |
| 0x00011019 | WCL_E_OBEX_CONFLICT | Indicates that the request could not be processed because of conflict in the request, such as an edit conflict between multiple simultaneous updates. |
| 0x0001101A | WCL_E_OBEX_GONE | Indicates that the resource requested is no longer available and will not be available again. |
| 0x0001101B | WCL_E_OBEX_LENGTH_REQUIRED | The request did not specify the length of its content, which is required by the requested resource. |
| 0x0001101C | WCL_E_OBEX_PRECONDITION_FAILED | The server does not meet one of the preconditions that the requester put on the request. |
| 0x0001101D | WCL_E_OBEX_REQUEST_TOO_LARGE | The request is larger than the server is willing or able to process. |
| 0x0001101E | WCL_E_OBEX_URL_TOO_LARGE | The URI provided was too long for the server to process. |
| 0x0001101F | WCL_E_OBEX_UNSUPPORTED_MEDIA_TYPE | The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format. |
| 0x00011020 | WCL_E_OBEX_INTERNAL | A generic error, given when an unexpected condition was encountered and no more specific message is suitable. |
| 0x00011021 | WCL_E_OBEX_NOT_IMPLEMENTED | The server either does not recognize the request method, or it lacks the ability to fulfill the request. |
| 0x00011022 | WCL_E_OBEX_BAD_GATEWAY | The server was acting as a gateway or proxy and received an invalid response from the upstream server. |
| 0x00011023 | WCL_E_OBEX_SERVICE_UNAVAILABLE | The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state. Also this error indicates that wrong Connect ID or Target used. |
| 0x00011024 | WCL_E_OBEX_GATEWAY_TIMEOUT | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. |
| 0x00011025 | WCL_E_OBEX_HTTP_VERSION_NOT_SUPPORTED | The server does not support the HTTP protocol version used in the request. |
| 0x00011026 | WCL_E_OBEX_DATABASE_FULL | Indicates that the client requests that something be placed into a database but the database is full (cannot take more data). |
| 0x00011027 | WCL_E_OBEX_DATABASE_LOCKED | Returned when the client wishes to access a database, database table, or database record that has been locked. |
| 0x00011028 | WCL_E_OBEX_UNEXPECTED | Unexpected or unknown OBEX result code. |
| 0x00011029 | WCL_E_OBEX_OPERATION_TERMINATED_BY_USER | The current operation has been terminated by a user. |
| 0x0001102A | WCL_E_OBEX_OPERATION_TERMINATED_BY_DISCONNECT | The current operation has been terminated because a remote device is disconnected. |
| 0x0001102B | WCL_E_OBEX_DISCONNECTED | The error code indicates that the OBEX session has been disconnected by a remote side. |
| 0x0001102C | WCL_E_OBEX_INVALID_OPERATION_SEQUENCE | The operation can not be executed at this time. This error appears if, for example, an application calls Terminate for Connect, Disconnect or SetPath operations. |
| 0x0001102D | WCL_E_OBEX_COM_INIT_FAILED | COM initialization failed. |
| 0x0001102E | WCL_E_OBEX_XML_NOT_AVAILABLE | XML parser is not available. |
| 0x0001102F | WCL_E_OBEX_INVALID_DIR_LIST | Unable to parse directory listing. |
| 0x00011030 | WCL_E_OBEX_INVALID_DIR_FORMAT | Wrong directory listing format. |
| 0x00011031 | WCL_E_OBEX_INVALID_STATE | Invalid data processor state. |
Serial Framework errors
| Value | Constant | Description |
|---|---|---|
| Common Serial Framework errors | ||
| 0x00020000 | WCL_E_SERIAL_MONITORING_RUNNING | Serial devices monitoring is running. |
| 0x00020001 | WCL_E_SERIAL_MONITORING_NOT_RUNNING | Serial devices monitoring is not running. |
| 0x00020002 | WCL_E_SERIAL_DEVICE_CLASS_NOT_FOUND | A device class was not found. |
| 0x00020003 | WCL_E_SERIAL_ALLOCATE_MASTER_PORT_FAILED | Unable to allocate the device enumeration port. |
| 0x00020004 | WCL_E_SERIAL_MASTER_PORT_NOT_ALLOCATED | The device's enuemration port was not allocated. |
| 0x00020005 | WCL_E_SERIAL_CREATE_DEVICES_FILTER_FAILED | Unable to create a device's enumeration filter. |
| 0x00020006 | WCL_E_SERIAL_IO_SERVICES_NOT_FOUND | Unable to enumerate devices with given class. |
| 0x00020007 | WCL_E_SERIAL_FEATURE_NOT_SUPPORTED | The requested feature is not supported on this platform. |
| 0x00020008 | WCL_E_SERIAL_UNABLE_GET_DEVICE_NODE | Unable to locate specified device's node. |
| 0x00020009 | WCL_E_SERIAL_DEVICE_SWITCH_FAILED | Unable to switch (disable or enable) the specified USB devices. |
| 0x0002000A | WCL_E_SERIAL_DEVICE_REMOVED | A serial device has been removed. |
| 0x0002000B | WCL_E_SERIAL_CLIENT_NOT_CONNECTED | A serial client is not connected. |
| 0x0002000C | WCL_E_SERIAL_CLIENT_CONNECTED | A serial client is already connected. |
| 0x0002000D | WCL_E_SERIAL_CLIENT_BUSY | A serial client connection is busy by connection or disconnecting. |
| 0x0002000E | WCL_E_SERIAL_CONNECTION_TERMINATE | A connection to a serial device was terminated by unknown reason. |
| 0x0002000F | WCL_E_SERIAL_READ_ERROR | Reading from COM port failed. |
| 0x00020010 | WCL_E_SERIAL_CREATE_OVERLAPPED_EVENT_FAILED | Create overlapped operation event failed. |
| 0x00020011 | WCL_E_SERIAL_CREATE_RESTART_EVENT_FAILED | Create communication restart event failed. |
| 0x00020012 | WCL_E_SERIAL_OPEN_PORT_FAILED | Open the specified serial port failed. |
| 0x00020013 | WCL_E_SERIAL_GET_COMM_CONFIGURATION_FAILED | Read COM port configuration failed. |
| 0x00020014 | WCL_E_SERIAL_SET_COMM_CONFIGURATION_FAILED | Write COM port configuration failed. |
| 0x00020015 | WCL_E_SERIAL_GET_COMM_TIMEOUTS_FAILED | Read COM port timeouts failed. |
| 0x00020016 | WCL_E_SERIAL_SET_EVENTS_MASK_FAILED | Set COM potr events mask failed. |
| 0x00020017 | WCL_E_SERIAL_GET_READ_BUFFER_SIZE_FAILED | Get read buffer size failed. |
| 0x00020018 | WCL_E_SERIAL_GET_WRITE_BUFFER_SIZE_FAILED | Get write buffer size failed. |
| 0x00020019 | WCL_E_SERIAL_SET_READ_BUFFER_SIZE_FILED | Set read buffer size failed. |
| 0x0002001A | WCL_E_SERIAL_SET_WRITE_BUFFER_SIZE_FAILED | Set write buffer size failed. |
| 0x0002001B | WCL_E_SERIAL_INIT_OVERLAPPED_OPERATION_FAILED | Overlapped IO operation initialization failed. |
| 0x0002001C | WCL_E_SERIAL_WRITE_TIMEOUT | Timeout appeared during write operation. That does not mean real error. That just means that some bytes were sent but time out appeared before all bytes are sent. You can retry to send remaining bytes or terminate connection. |
| 0x0002001D | WCL_E_SERIAL_WRITE_FAILED | Write data to the serial port was failed. |
| 0x0002001E | WCL_E_SERIAL_DEVICE_WRITE_TIMEOUT | Write operation was timed out on wait. Probably device is disconnected or not available. |
| 0x0002001F | WCL_E_SERIAL_GET_COMM_FEATURES_FAILED | COM features read failed. |
| 0x00020020 | WCL_E_SERIAL_SET_COMM_TIMEOUTS_FAILED | Write COM port timeouts failed. |
| 0x00020021 | WCL_E_SERIAL_CLEAR_COMM_BREAK_FAILED | The ClearCommBreak method failed. |
| 0x00020022 | WCL_E_SERIAL_ESCAPE_COMM_FUNCTION_FAILED | The EscapeCommFunction has been failed. |
| 0x00020023 | WCL_E_SERIAL_FLUSH_BUFFERS_FAILED | The FlushBuffers method failed. |
| 0x00020024 | WCL_E_SERIAL_GET_MODEM_STATUS_FAILED | The GetCommStatus method failed. |
| 0x00020025 | WCL_E_SERIAL_PURGE_COMM_FAILED | The PurgeComm method failed. |
| 0x00020026 | WCL_E_SERIAL_SET_COMM_BREAK_FAILED | The SetCommBreak method failed. |
| 0x00020027 | WCL_E_SERIAL_TRANSMIT_COMM_CHAR_FAILED | The TransmitCommChar method failed. |