sco_ui_surfaces_v1.last_error
The message of this plugin’s last refused call (“” if none), NUL-terminated, with the raw-handler size handshake (*inout_size: capacity in; bytes written, or needed with TOO_MANY, out).
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, char *, uint32_t *)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sco_ui_surfaces_v1.last_error |
| Record ID | sco-ui-surfaces-v1-last-error |
| Service | sco.ui.surfaces |
| Table | sco_ui_surfaces_v1 |
| Version macro | SCO_UI_SURFACES_VERSION_1_0 |
| Packed table version | 65536 |
| Since / availability | size >= 40; 1.0 |
| Complete member extent (x64 bytes) | 40 |
| Table size (x64 bytes) | 40 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*last_error)(sco_plugin* self, char* out, uint32_t* inout_size);
The message of this plugin’s last refused call (“” if none), NUL-terminated, with the raw-handler size handshake (*inout_size: capacity in; bytes written, or needed with TOO_MANY, out).
Results and failures
Section titled “Results and failures”OK; TOO_MANY buffer too small (*inout_size = bytes needed); BAD_ARG invalid/released self, NULL inout_size or NULL out with nonzero capacity; UNAVAILABLE stopped service. Diagnostic completeness unspecified.
Absent capability
Section titled “Absent capability”query_service NOT_FOUND when the host does not publish sco.ui.surfaces (it needs sco.ui started); UNAVAILABLE for an incompatible version. No game capability or renderer requirement.
Ownership
Section titled “Ownership”Caller-owned buffer written in place. No allocation transfer.
Thread affinity
Section titled “Thread affinity”Any thread; registry lock held only for the copy. No callbacks.
Callback context
Section titled “Callback context”No callbacks; desc, pose and panel_id are read during the call only.
Reentrancy
Section titled “Reentrancy”No plugin code runs inside the service; calls from several threads are serialized by the registry lock.
Cleanup and cancellation
Section titled “Cleanup and cancellation”No cancellation entrypoint; synchronous read. Unload and Stop clear the message.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sco_ui_surfaces.h(*last_error) |
| cpp | typed-wrapper | include/scosdk/ui_surfaces.hppsco_result r = table_->last_error(self_, out.data(), &size); |
| csharp | unsupported | docs/contracts.mdC# and Lua sco.ui.surfaces routes are unsupported. |
| lua | unsupported | docs/contracts.mdC# and Lua sco.ui.surfaces routes are unsupported. |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
ABI pins prove layout, not semantic behavior or a live game session.