Example #1
0
 /// <summary>
 /// Create an FDI context.
 /// </summary>
 /// <param name="fnMemAlloc">Memory allocation delegate.</param>
 /// <param name="fnMemFree">Memory free delegate.</param>
 /// <param name="fnFileOpen">File open delegate.</param>
 /// <param name="fnFileRead">File read delegate.</param>
 /// <param name="fnFileWrite">File write delegate.</param>
 /// <param name="fnFileClose">File close delegate.</param>
 /// <param name="fnFileSeek">File seek delegate.</param>
 /// <param name="erf">Error structure that will be filled in with error information.</param>
 /// <returns>On success, returns a non-null FDI context handle.
 /// If an error occurs, the return value will be IntPtr.Zero,
 /// and the passed CabError structure will contain error information.</returns>
 public static IntPtr FdiCreate(
     FdiMemAllocDelegate fnMemAlloc,
     FdiMemFreeDelegate fnMemFree,
     FdiFileOpenDelegate fnFileOpen,
     FdiFileReadDelegate fnFileRead,
     FdiFileWriteDelegate fnFileWrite,
     FdiFileCloseDelegate fnFileClose,
     FdiFileSeekDelegate fnFileSeek,
     ref CabError erf)
 {
     return FdiCreate(fnMemAlloc, fnMemFree, fnFileOpen, fnFileRead, fnFileWrite,
         fnFileClose, fnFileSeek, cpuTypeUnknown, ref erf);
 }
Example #2
0
 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);
Example #3
0
 private static extern IntPtr FdiCreate(
     FdiMemAllocDelegate fnMemAlloc,
     FdiMemFreeDelegate fnMemFree,
     FdiFileOpenDelegate fnFileOpen,
     FdiFileReadDelegate fnFileRead,
     FdiFileWriteDelegate fnFileWrite,
     FdiFileCloseDelegate fnFileClose,
     FdiFileSeekDelegate fnFileSeek,
     int cpuType,    // ignored by 32-bit FDI
     ref CabError erf);