You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By shipping the middleware DLL with the service instead of the client, we ensure that middleware-service compatibility is always guaranteed. Middleware-client compatibility is already guaranteed via C-API contract (this will be hardened/made absolute).
This change requires that clients locate the DLL at runtime and load it dynamically. To facilitate this process, we add a thin Loader Layer DLL that clients can link to with a convenient import .lib, which will transparently locate the middleware, load it, resolve all the function addresses, and forward the API calls.
POC of loader layer DLL
Ability to resolve mangled C++ endpoints for internal usage
Update installer to ship middleware with service, provide loader in SDK
Implement error checking with new PM_STATUS codes for DLL issues
add version check mechanism in C-API, loader checks during loading
Make loading process thread-safe
Review and implement DLL Main hooks as necessary
Clean out unused classes / projects (MockMiddleware etc.)
Repair and prune API2 tests
Cleanup organization of loader and solution project dependencies
Update documentation
The text was updated successfully, but these errors were encountered:
planetchili
changed the title
Add DLL Loader Layer to Support Backwards Compatibility
Add DLL Loader Layer to Support Backward Compatibility
Jan 29, 2025
By shipping the middleware DLL with the service instead of the client, we ensure that middleware-service compatibility is always guaranteed. Middleware-client compatibility is already guaranteed via C-API contract (this will be hardened/made absolute).
This change requires that clients locate the DLL at runtime and load it dynamically. To facilitate this process, we add a thin Loader Layer DLL that clients can link to with a convenient import .lib, which will transparently locate the middleware, load it, resolve all the function addresses, and forward the API calls.
The text was updated successfully, but these errors were encountered: