-Object structure:
- The object ID is stored as a 32-bit quantity at an offset
- specified by calling a method TBD.
-
-Wrapper object creation:
- The function to create wrapper objects is specified by calling a method
- TBD. The function shall conform to the local ABI, and takes an ID as a
- 32-bit integer as the first parameter, and a pointer to the class as
- the second. It returns a pointer.
-
- Wrapper objects may be preemptively declared to avoid infinite loops by
- calling a method TBD.
-
-Struct padding:
- All fields are padded so that basic types are naturally aligned.
-
+ Upon return:
+ eax: pointer to exception, or NULL if none
+ edx: length of exception segment, if any
+ ebx, esi, edi, ebp, esp: may be clobbered
+
+Object registration:
+ eax: number of objects to register with initial refcount 1
+ edx: pointer to list of NewObject structs
+
+ Call the 32-bit address stored at 0x7fff0008.
+
+ Upon return:
+ eax: pointer to exception, or NULL if none
+ edx: length of exception segment, if any
+
+GUID SHA-1 hash retrieval:
+ eax: object id
+ edx: 20-byte buffer
+
+ Call the 32-bit address stored at 0x7fff000c.
+
+ Upon return:
+ eax: pointer to exception, or NULL if none
+ edx: length of exception segment, if any