Secure Sockets Error Codes

Networking operations that take advantage of secure sockets can return error codes that are not common to general purpose networking. Some of the most useful and unique of these error codes are listed here.

At run time, your code can resolve an error code to a developer-friendly string by using GetMessageForError. The messages returned by that function are suitable for use by developers for debugging or logging, but they should not be displayed to end users.

These error code values are subject to change in subsequent releases, and you should design your code to allow for changes to any specific error code values.

ERROR_DATA_CHECKSUM_ERROR (0x80070143)
  The secure device association failed due to a checksum error of the secure device address buffer. Ensure that the secure device address buffer has not been modified or corrupted.

XBOX_E_XBOXNETAPI_SECURE_CONNECTION_ATTEMPT_NO_RESPONSES (0x89232000)
  The remote host failed to respond to initiation of the Internet key exchange (IKE) in the given time. Ensure that functioning IP connectivity is available (via Teredo or another method), and that the remote host is responsive to IKE.

XBOX_E_XBOXNETAPI_IKE_IPSEC_SA_TIMEOUT (0x89232001)
  The remote host is not responsive, and a working security association is not available. Ensure that functioning IP connectivity is available (via Teredo or another method), and that the remote host is responsive to IKE.

XBOX_E_XBOXNETAPI_SPECIFIC_VALID_PORT_REQUIRED (0x89232002)
  Code using Secure Device Association templates that use initiator or acceptor port ranges must call CreateAssociationForPortsAsync with a specific port number in the range.

XBOX_E_XBOXNETAPI_DEDICATED_SERVERS_REQUIRE_VALID_PORT (0x89232003)
Code cannot invoke CreateAssociationForPortsAsync with port number of 0 for the initiator or acceptor. A port must be specified within the range indicated by the secure device socket description in the network manifest.

For more information about specifying secure devices in the network manifest, see Specifying the Secure Device Association Templates for your App.

XBOX_E_XBOXNETAPI_CERTIFICATE_BUFFER_EMPTY (0x89232004)
  The certificate buffer must not be empty.

XBOX_E_XBOXNETAPI_CONFLICTING_SOCKET_SECURITY_POLICY (0x89232005)
  The descriptions of the initiator and acceptor sockets must declare compatible socket usage flags. Security requirements cannot differ between initiators or acceptors. That is, if one socket description for this template declares flags that are insecure or intended for debugging, such as SendDebug, ReceiveDebug, SendInsecure, or ReceiveInsecure, then the other socket description must do so as well.

XBOX_E_XBOXNETAPI_PORT_NOT_IN_EPHEMERAL_RANGE (0x89232006)
  The specified port is not in the valid ephemeral port range for the console.

XBOX_E_XBOXNETAPI_PORT_NOT_IN_DECLARED_RANGE(0x89232007)
  The specified port is not in the range declared in the applicable SecureDeviceSocketDescription object.

XBOX_E_XBOXNETAPI_ASSOCIATION_TERMINATED_TEMPLATE_UNLOADING (0x89232008)
  The secure device association was terminated because the app is terminating.

XBOX_E_XBOXNETAPI_ASSOCIATION_TERMINATED_APP_SUSPENDED (0x89232009)
  The secure device association was terminated because the app is entering the suspended state.

XBOX_E_XBOXNETAPI_ASSOCIATION_TERMINATED_CERTIFICATE_EXPIRED (0x8923200a)
  The secure device association was terminated because the certificate used for IPsec authentication has expired.

XBOX_E_XBOXNETAPI_ASSOCIATION_TERMINATED_LOW_POWER_MODE (0x8923200b)
  The secure device association was terminated because the console is going into low-power mode.

XBOX_E_XBOXNETAPI_TEREDO_IS_OFFLINE_OR_STOPPING (0x8923203f)
  Teredo connectivity isn’t available because the Teredo client is offline. This error indicates a that Teredo is blocked in the network environment. A troubleshooting guide for this issue can be found on https://support.xbox.com/en-US/xbox-one/networking/nat-type-unavailable-in-network-settings.