Version identifier passed to the provider on every call. More...
Macros | |
| #define | FOBJ_VERSION 0x0201U |
| Current FOBJ interface version (major=2, minor=1). | |
| #define | FOBJ_VER_MAJOR(v) |
| Extract major version from a version word. | |
| #define | FOBJ_VER_MINOR(v) |
| Extract minor version from a version word. | |
Version identifier passed to the provider on every call.
The caller (OBJSSE) passes a pointer to Interface version as the piVersion argument of TfFobjExit on every call. The provider compares *piVersion against its own compiled-in version to detect interface mismatches at runtime.
Encoding: high byte = major version, low byte = minor version. Providers compiled against the same major version are compatible; a different major version indicates a struct layout change and the provider should return an error from FOBJ_FUNC_OPN.
| #define FOBJ_VER_MAJOR | ( | v | ) |
Extract major version from a version word.
| #define FOBJ_VER_MINOR | ( | v | ) |
Extract minor version from a version word.
| #define FOBJ_VERSION 0x0201U |
Current FOBJ interface version (major=2, minor=1).
| Version | Changes |
|---|---|
| 0x0100 | Initial release. Function codes 1–7 (OPN–DST). |
| 0x0200 | Breaking: TsFobjOpn compacted: uiParLen paired with uiNamLen; |
uiRes0/. Added EXS(8), NEW(9), FRE(10). | |
| CLS no longer frees handle. DST/EXS operate in NEW state. | |
| 0x0201 | Additive: uiMaxObjLen reaches the provider. It takes over the |
4-byte alignment slot that was uiPad0 in TsFobjOpn, so that | |
struct does not change layout, and is appended to TsFobjNew. | |
| A provider built against 0x0200 keeps working unchanged. |