What does NTSTATUS 0xC0000481 (STATUS_APISET_NOT_HOSTED) mean?

 
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 IsApiSetImplemented reports the contract as available on the target platform.
  • The feature-gating path that should avoid the call when the implementation is not hosted.

References


Looking for a different code? Search another status or error code.