namespace Vanara.PInvoke
{
public static partial class Cabinet
{
/// The ERF structure contains error information from FCI/FDI. The caller should not modify this structure.
// https://docs.microsoft.com/en-us/windows/desktop/api/fdi_fci_types/ns-fdi_fci_types-erf typedef struct { int erfOper; int
// erfType; BOOL fError; } ERF;
[PInvokeData("fdi_fci_types.h", MSDNShortId = "ddbccad9-a68c-4be7-90dc-e3dd25f5cf3b")]
public struct ERF
{
///
/// An FCI/FDI error code.
/// The following values are returned for FCI:
///
///
/// Value
/// Meaning
///
/// -
/// FCIERR_NONE 0x00
/// No Error.
///
/// -
/// FCIERR_OPEN_SRC 0x01
/// Failure opening the file to be stored in the cabinet.
///
/// -
/// FCIERR_READ_SRC 0x02
/// Failure reading the file to be stored in the cabinet.
///
/// -
/// FCIERR_ALLOC_FAIL 0x03
/// Out of memory in FCI.
///
/// -
/// FCIERR_TEMP_FILE 0x04
/// Could not create a temporary file.
///
/// -
/// FCIERR_BAD_COMPR_TYPE 0x05
/// Unknown compression type.
///
/// -
/// FCIERR_CAB_FILE 0x06
/// Could not create the cabinet file.
///
/// -
/// FCIERR_USER_ABORT 0x07
/// FCI aborted.
///
/// -
/// FCIERR_MCI_FAIL 0x08
/// Failure compressing data.
///
/// -
/// FCIERR_CAB_FORMAT_LIMIT 0x09
/// Data-size or file-count exceeded CAB format limits.
///
///
/// The following values are returned for FDI:
///
///
/// Value
/// Meaning
///
/// -
/// FDIERROR_NONE 0x00
/// No error.
///
/// -
/// FDIERROR_CABINET_NOT_FOUND 0x01
/// The cabinet file was not found.
///
/// -
/// FDIERROR_NOT_A_CABINET 0x02
/// The cabinet file does not have the correct format.
///
/// -
/// FDIERROR_UNKNOWN_CABINET_VERSION 0x03
/// The cabinet file has an unknown version number.
///
/// -
/// FDIERROR_CORRUPT_CABINET 0x04
/// The cabinet file is corrupt.
///
/// -
/// FDIERROR_ALLOC_FAIL 0x05
/// Insufficient memory.
///
/// -
/// FDIERROR_BAD_COMPR_TYPE 0x06
/// Unknown compression type used in the cabinet folder.
///
/// -
/// FDIERROR_MDI_FAIL 0x07
/// Failure decompressing data from the cabinet file.
///
/// -
/// FDIERROR_TARGET_FILE 0x08
/// Failure writing to the target file.
///
/// -
/// FDIERROR_RESERVE_MISMATCH 0x09
/// The cabinets within a set do not have the same RESERVE sizes.
///
/// -
/// FDIERROR_WRONG_CABINET 0x0A
/// The cabinet returned by fdintNEXT_CABINET is incorrect.
///
/// -
/// FDIERROR_USER_ABORT 0x0B
/// FDI aborted.
///
///
///
public int erfOper;
/// An optional error value filled in by FCI/FDI. For FCI, this is usually the C runtime errno value.
public int erfType;
/// A flag that indicates an error. If TRUE, an error is present.
public BOOL fError;
}
}
}