| Previous | Next |
| ERROR_WMI_INVALID_REGINFO | ERROR_WMI_READ_ONLY |
ERROR_WMI_ALREADY_DISABLED
A duplicate stop request exposes lifecycle accounting
WMI uses disable operations to tell a provider that collection for an expensive block or notification for an event block is no longer required. This status means the provider considers the block already disabled. It should be diagnosed as a state-transition imbalance rather than as a reason to free resources again.
Under the normal collection contract, WMI sends a disable request when the last consumer stops requiring an enabled expensive block. The provider should make stopping collection safe and idempotent, while preserving enough state to detect protocol mistakes in a direct or custom request path.
How to prevent a second teardown
- Store enable state per block and provider device, not in a process-wide boolean shared by unrelated instances.
- Release timers, event subscriptions, and buffers only when transitioning from enabled to disabled.
- Trace the matching enable and disable sequence so a stale request can be correlated with device removal or provider re-registration.
References
- Windows WDK: disabling collection
- Windows WDK: function-control callbacks
- Windows WDK: expensive collection and event flags
Looking for a different code? Search another status or error code.