| Previous | Next |
| TAPI_E_INVALFEATURE | TAPI_E_INVALBUTTONSTATE |
TAPI_E_INVALBUTTONLAMPID
What is invalid
TAPI_E_INVALBUTTONLAMPID (0x8004002D) means the supplied phone button/lamp ID is not valid for the target phone object or provider state. Treat the ID as provider/device-scoped data: a value cached from another phone, provider generation or capability snapshot can be numerically well formed and still be invalid.
Evidence to capture
- Phone/device object identity and provider version.
- The rejected button/lamp ID and the operation that used it.
- Current button/lamp capabilities enumerated from the same live phone object.
- Any provider restart, device reconnect or capability change between enumeration and use.
Focused test
Enumerate the current button/lamp set from the same phone object and retry using one ID returned by that enumeration. If the fresh ID works while the cached ID fails, fix the object's lifetime/cache boundary rather than retrying the invalid value.
Correction
Validate IDs against the current provider capabilities and discard them when the phone/provider generation changes. Keep button/lamp IDs separate from feature IDs, data-segment IDs and other TAPI opaque identifiers even if their underlying types are similar.
Verification
Exercise one valid button/lamp operation and one deliberate invalid ID. The valid operation should complete on the same phone generation, while the negative control should continue to return the documented invalid-ID result.
Technical references
Looking for a different code? Search another status or error code.
