| Previous | Next |
| STATUS_SHARE_UNAVAILABLE | STATUS_APISET_NOT_PRESENT |
STATUS_APISET_NOT_HOSTED
API-set names are loader contracts, not physical DLL files to copy beside the application
STATUS_APISET_NOT_HOSTED belongs to the Windows API-set loader model. An API-set name such as an api- or ext- contract is a virtual loader contract, not necessarily a real file on disk. The loader consults the API-set schema and redirects the contract to a host binary that implements it on the current Windows device.
A contract can exist conceptually while no implementation is hosted on a particular device or Windows configuration. Microsoft specifically documents API sets as a way to account for differences between device families and recommends runtime availability checks where an API may not be implemented. Searching the file system for a same-named api-ms-*.dll can therefore be misleading.
Record the full API-set contract and the target platform/build. Verify whether the application declared a platform requirement it does not actually meet and whether the code should test availability before calling the feature. Do not download or manufacture a stub DLL with the contract name; that bypasses the loader's schema model and does not provide the expected host implementation.
What to inspect
- The exact API-set contract name, importing module, Windows build, edition/device family, and package context.
- Whether
IsApiSetImplementedreports the contract as available on the target platform. - The feature-gating path that should avoid the call when the implementation is not hosted.
References
- Microsoft: Windows API sets
- Microsoft: API set loader operation
- Microsoft: Detect API set availability
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.