gPhoto2 (open-source, broad camera support), libgphoto2, vendor SDKs for other brands, and camera-specific third-party libraries/wrappers.
Use a debugger (x64dbg on Windows, LLDB on macOS) to trace how Canon’s own CameraWindow or EOS Utility calls the SDK. This is legal for interoperability under most jurisdictions, but check your local laws.