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; } } }