| 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
0x0004173Abefore wrappers, signed-decimal formatting, exceptions, or generic success handling replaceFILTER_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_PROPSETScontract. - 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_PROPSETSwith 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_PROPSETScan 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_PROPSETScan 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_PROPSETScan 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
- Microsoft: Filter interface values — official Microsoft material used to interpret
FILTER_S_NO_PROPSETS. - Microsoft: About Indexing Service filters — official Microsoft material used to interpret
FILTER_S_NO_PROPSETS. - Microsoft: Using custom filters — official Microsoft material used to interpret
FILTER_S_NO_PROPSETS. - Microsoft: HRESULT values — official Microsoft material used to interpret
FILTER_S_NO_PROPSETS.
Looking for a different code? Search another status or error code.
