| Previous | Next |
| ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE | ERROR_CANNOT_BREAK_OPLOCK |
ERROR_CANNOT_GRANT_REQUESTED_OPLOCK
The requested caching level is unavailable, although a lower oplock may be possible
Modern Windows oplocks express separate read, write, and handle-caching intentions. A request can be too strong for the current open/share state while a less permissive combination remains compatible. This warning therefore carries more information than a generic denial: the request did not receive the exact level requested, but the output buffer may describe the level that can be supported.
Read REQUEST_OPLOCK_OUTPUT_BUFFER instead of treating every nonzero result as identical. A cache manager may accept the lower level, issue a new request that reflects its actual needs, or continue without caching. Do not keep write-behind or handle caching enabled merely because part of the request succeeded. Also inspect directory versus file semantics, because directory oplocks support a narrower set of levels.
What to inspect
- Inspect NewOplockLevel and the returned flags.
- Map each granted bit to the cache behavior it actually permits.
- Fall back cleanly when write or handle caching is unavailable.
References
- Microsoft: opportunistic lock operations
- Microsoft: oplock types and break behavior
- Microsoft: FSCTL_REQUEST_OPLOCK
Looking for a different code? Search another status or error code.