What does HRESULT 0x0004173A (FILTER_S_NO_PROPSETS) mean?

 
Previous Next
FILTER_S_DISK_FULL FILTER_S_NO_SECURITY_DESCRIPTOR

FILTER_S_NO_PROPSETS

Document contains no property sets

FILTER_S_NO_PROPSETS is HRESULT 268090 (0x0004173A) from Indexing Service. AllStat describes it as “The document has no property sets.” The severity bit indicates a nonfailure result, but the value carries a specific condition that must not be collapsed into plain S_OK.

In the legacy Indexing Service or IFilter pipeline, FILTER_S_NO_PROPSETS means that the document has no property sets. Ordinary completion must not be inferred from FILTER_S_NO_PROPSETS until the owning component’s state and outputs agree.

Diagnostic sequence

  • Capture the raw value 0x0004173A before wrappers, signed-decimal formatting, exceptions, or generic success handling replace FILTER_S_NO_PROPSETS.
  • Identify the operation that returned FILTER_S_NO_PROPSETS, including interface or callback, component build, thread, process, and the state-machine phase.
  • For FILTER_S_NO_PROPSETS, prove the decisive condition: the absence of property sets is valid for the format and text extraction can proceed independently.
  • Inspect every output, count, status array, buffer, callback, task state, media timestamp, transaction vote, or security token that remains part of the FILTER_S_NO_PROPSETS contract.
  • Compare state immediately before and after FILTER_S_NO_PROPSETS; success severity does not guarantee that optional work or the caller’s intended high-level action completed.
  • Reproduce FILTER_S_NO_PROPSETS with the smallest input that retains the same condition, then alter only the recorded cause before repeating the operation.

Where the status is encountered

  • FILTER_S_NO_PROPSETS can be returned during legacy Indexing Service catalog processing; log the exact method and object state instead of interpreting the constant outside that contract.
  • FILTER_S_NO_PROPSETS can be returned during IFilter text and property extraction; log the exact method and object state instead of interpreting the constant outside that contract.
  • FILTER_S_NO_PROPSETS can be returned during search enumeration, scan scheduling, or catalog administration; log the exact method and object state instead of interpreting the constant outside that contract.

Because FILTER_S_NO_PROPSETS is informational, a language binding may expose it as success and hide the symbolic distinction. Keep the original HRESULT available until the code-specific branch has run.

What must be true before accepting it

For FILTER_S_NO_PROPSETS, verify that the absence of property sets is valid for the format and text extraction can proceed independently. Only this contract check establishes that FILTER_S_NO_PROPSETS is safe for the caller’s next step.

The return of FILTER_S_NO_PROPSETS can follow observable side effects, so recovery begins with state reconciliation.

Evidence and telemetry

  • For FILTER_S_NO_PROPSETS, preserve document format and filter CLSID.
  • For FILTER_S_NO_PROPSETS, preserve property-set enumeration result.
  • For FILTER_S_NO_PROPSETS, preserve text chunk availability.
  • For FILTER_S_NO_PROPSETS, preserve file-system metadata.
  • For FILTER_S_NO_PROPSETS, preserve expected versus optional property schema.

Also record filter_s_no_propsets_operation, filter_s_no_propsets_state_before, filter_s_no_propsets_state_after, UTC time, process and thread identifiers, component version, and a correlation ID. For privacy-safe FILTER_S_NO_PROPSETS diagnostics, log metadata and fingerprints instead of confidential source values.

Difference from nearby results

FILTER_S_NO_PROPSETS must be distinguished from ordinary S_OK and from failure-severity values in the same API family; its documented state changes control the next action.

For FILTER_S_NO_PROPSETS, a nearby HRESULT can change object ownership, output validity, or the permitted next method.

Correct handling and recovery

Continue with text or other available metadata. Do not synthesize property values; record format support if the document was expected to contain structured properties.

Retry FILTER_S_NO_PROPSETS only when a documented input or state has changed. Before another call following FILTER_S_NO_PROPSETS, confirm that completed side effects are idempotent or reconciled.

Practical scenario

A plain-text file has no OLE property sets. The indexer stores content and file-system metadata while leaving document-summary fields absent.

A regression test should reproduce FILTER_S_NO_PROPSETS, assert the relevant outputs and state, then change only the decisive condition and verify the expected neighboring result or ordinary completion.

Developer and administrator guidance

When FILTER_S_NO_PROPSETS crosses COM, RPC, managed-code, scripting, or logging boundaries, preserve the unsigned 32-bit value. Tests should verify the postcondition encoded by FILTER_S_NO_PROPSETS, not merely that the severity bit denotes success.

For FILTER_S_NO_PROPSETS, document ownership of retry, cancellation, cleanup, and user messaging. Use the producing subsystem’s tools for FILTER_S_NO_PROPSETS rather than generic cleanup that cannot address its contract.

References


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