What does HRESULT 1 (S_FALSE) mean?

 
Could be also:
ConstantTypeOS
ERROR_INVALID_FUNCTIONWin32 errorWindows
STATUS_WAIT_1NTSTATUSWindows
kOSReturnErrorKern returnMac
KERN_INVALID_ADDRESSKern returnMac
ippStsNoOperationIntel Ipp StatusAny
WDSCP_CATEGORYHRESULTWindows
WDSMCSERVER_CATEGORYHRESULTWindows
WDSTPTMGMT_CATEGORYHRESULTWindows
EPERMerrnoAny
APC_INDEX_MISMATCHBugCheck CodeWindows
Previous Next
hrNone WDSCP_CATEGORY

S_FALSE

Successful HRESULT with a false or incomplete condition

S_FALSE is HRESULT 1 (0x00000001) from winerror.h. The documented description is “Not a failure.” The high-order severity bit is clear, so this is a success result, but it carries more information than plain S_OK.

The method did not fail, but its documented predicate, enumeration step, or requested condition is false or not fully satisfied.

Evidence to preserve

  • Preserve the method name and requested item count.
  • Preserve actual output count and nullability of outputs.
  • Preserve the loop position or predicate being evaluated.
  • Preserve any secondary status array.
  • Preserve the branch taken by the caller after SUCCEEDED returned true.

Where the result is encountered

  • This result can appear in COM enumerators that reached the end before returning the requested count; record the producing interface and method.
  • This result can appear in predicate-style methods whose answer is false; record the producing interface and method.
  • It can appear in operations that completed without producing the optional result requested by the caller; record the producing interface and method.

State to verify

The central question is whether the API contract defines what false means for this method; the numeric value alone does not identify end-of-enumeration, absence, cancellation, or partial work.

Diagnostic sequence

  • Capture the raw HRESULT 0x00000001 immediately after the returning method and record whether the caller used SUCCEEDED, FAILED, equality testing, or exception translation.
  • Verify the method-specific state: the API contract defines what false means for this method; the numeric value alone does not identify end-of-enumeration, absence, cancellation, or partial work.

Difference from nearby HRESULT values

S_OK communicates the primary successful condition. E_FAIL and other values with the severity bit set are failures and must not be grouped with it.

Correct handling, retry, and recovery

Handle it as an explicit alternative success path. Check the method documentation and outputs before deciding whether to stop enumeration, report absence, or continue with reduced functionality.

Practical validation scenario

An enumerator requests four elements and returns one element with it. Correct code consumes the one valid element and then stops; code that treats every SUCCEEDED result as a full batch reads uninitialized entries.

Developer and administrator guidance

References


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