What does HRESULT 0x80EE002D (RTC_E_NO_DEVICE) mean?

 
Previous Next
RTC_E_LOCAL_PHONE_NEEDED RTC_E_INVALID_PROFILE

RTC_E_NO_DEVICE

Operational meaning: RTC_E_NO_DEVICE

This result belongs to the RTC media controller and terminal boundary area of RTC and identifies no preferred or compatible media device is available for the requested RTC media type.

This result carries 0x80EE002D in the RTC interface facility 0xEE; store the result value at the first RTC callback or method boundary, before retry logic replaces it with a broader timeout or connection message.

Start the result investigation by having the trace enumerate terminals and preferred-device settings for capture and render; do not skip the distinction that this is selection/capability absence, while MEDIA_*_DEVICE_NOT_AVAILABLE can describe a chosen device that became unavailable.

Signals worth preserving

  • Code-specific proof: enumerate terminals and preferred-device settings for capture and render.
  • Correlation key: stream direction and negotiated codec.
  • Protocol or object snapshot: device removal or format-change event.
  • Last completed transition: session and media type.
  • Expected output: terminal/device identifier.

Protocol and object state

RTC areaRTC media controller and terminal
Condition to proveno preferred or compatible media device is available for the requested RTC media type
Objects to correlateRTC session, media type, terminal/device, stream direction, controller state, acoustic echo cancellation
Safe corrective directionselect a valid terminal or disable that media type for the session

Signaling success does not guarantee that a capture or render device exists or that a media stream can start. AddStream, RemoveStream, hold, and terminal selection change the media state machine and can race with callbacks from the previous operation.

Verification workflow

  1. Start from 0x80EE002D, then find the method/event pair that first exposed it.
  2. To verify this, enumerate terminals and preferred-device settings for capture and render.
  3. Keep the analysis at the right boundary: this is selection/capability absence, while MEDIA_*_DEVICE_NOT_AVAILABLE can describe a chosen device that became unavailable.
  4. After you select a valid terminal or disable that media type for the session, repeat the smallest reproducer rather than restarting the entire application environment.

Do not confuse it with

RTC_E_MEDIA_AECRTC failed to enable acoustic echo cancellation for the audio path
RTC_E_MEDIA_ENABLEDcode attempted an enable transition for media that is already enabled
RTC_E_MEDIA_SESSION_NOT_EXISTthe requested media-session object no longer exists for the RTC signaling session

Recovery and control flow

Recovery should be narrow: select a valid terminal or disable that media type for the session; while handling this result, do not let a higher layer simultaneously recreate the same session, registration, listener, or profile.

Example: A headless machine starts an audio session with no configured audio terminal.

Actions that do not address this condition

  • Do not recreate the entire SIP session before determining whether only a local terminal failed.
  • Do not assume the default Windows device is the terminal selected by the RTC object.

Technical references


Looking for a different code? Search another status or error code.