PolReportFileInconsistent callback function

A Policy DLL's PolReportFileInconsistent callback function is called to inform the Policy DLL FESF has encountered an encrypted file that is in incorrect or invalid format.

Syntax

POL_REPORT_FILE_INCONSISTENT PolReportFileInconsistent;

 

bool

PolReportFileInconsistent(

    _In_  FE_POLICY_PATH_INFORMATION *PolicyPathInfo

)

Parameters

PolicyPathInfo [in]

A pointer to an FESF allocated FE_POLICY_PATH_INFORMATION structure describing the name of the file that FESF has found to contain errors.

Return value

To grant the caller raw access to the corrupt file, the PolReportFileInconsistent callback function returns TRUE.  Otherwise, it returns FALSE.

If FALSE is returned, FESF will fail the thread's CreateFile operation.   How the requesting thread/process reacts to having this error returned is dependent on the thread/process.

Remarks

A Policy DLL's PolReportFileInconsistent callback function is called by FESF to inform the Policy DLL that an FESF encrypted file has been found that has in invalid or inconsistent format.  The Policy DLL may choose to ask FESF to attempt to recover this file, by calling the appropriate function supplied by the FESF Data Storage Service.

Files may be reported as being inconsistent for a number of reasons.   Generally, a file is considered inconsistent when FESF is reasonably sure that the file is encrypted but the file has failed one or more internal sanity checks. For example, this can happen if an application modifies certain portions of a file after being granted FE_POLICY_RAW access. It can also occur if the file is modified outside of FESF, such as when FESF is not installed on a system when the file is accessed for write. Inconsistent files are typically not safely usable until they have been repaired.

Implementation of this callback function is optional for a Policy DLL.  If this function is not implemented, FESF uses the behavior specified during initialization in the field OfflineBehavior. ApproveCorruptFileAccess

Examples

 

See Also

 

Requirements

Software version

FESF V1 (or later)

Library

FESFPolicy.lib

Header

PolDllApi.h