/// <summary> /// Initializes new instance of the CabCompressor class. /// </summary> public CabCompressor() { // user must initialize a CabInfo structure //gerrard: initializing new private members FilePlacedDelegate = new FciFilePlacedDelegate(FilePlacedCallback); MemAllocDelegate = new FciMemAllocDelegate(MemAlloc); MemFreeDelegate = new FciMemFreeDelegate(MemFree); FileOpenDelegate = new FciFileOpenDelegate(FileOpen); FileReadDelegate = new FciFileReadDelegate(FileRead); FileWriteDelegate = new FciFileWriteDelegate(FileWrite); FileCloseDelegate = new FciFileCloseDelegate(FileClose); FileSeekDelegate = new FciFileSeekDelegate(FileSeek); FileDeleteDelegate = new FciFileDeleteDelegate(FileDelete); GetTempFileDelegate = new FciGetTempFileDelegate(GetTempFile); }
public static extern IntPtr FciCreate(/*[In, Out][MarshalAs(UnmanagedType.LPStruct)]*/ ref CabError erf, FciFilePlacedDelegate fnFilePlaced, FciMemAllocDelegate fnMemAlloc, FciMemFreeDelegate fnMemFree, FciFileOpenDelegate fnFileOpen, FciFileReadDelegate fnFileRead, FciFileWriteDelegate fnFileWrite, FciFileCloseDelegate fnFileClose, FciFileSeekDelegate fnFileSeek, FciFileDeleteDelegate fnFileDelete, FciGetTempFileDelegate fnTempFile, [In, Out][MarshalAs(UnmanagedType.LPStruct)] FciCurrentCab ccab, IntPtr userData);