Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The FCICreate function creates an FCI context.
Syntax
HFCI DIAMONDAPI FCICreate(
[in, out] PERF perf,
[in] PFNFCIFILEPLACED pfnfcifp,
[in] PFNFCIALLOC pfna,
[in] PFNFCIFREE pfnf,
[in] PFNFCIOPEN pfnopen,
[in] PFNFCIREAD pfnread,
[in] PFNFCIWRITE pfnwrite,
[in] PFNFCICLOSE pfnclose,
[in] PFNFCISEEK pfnseek,
[in] PFNFCIDELETE pfndelete,
[in] PFNFCIGETTEMPFILE pfnfcigtf,
[in] PCCAB pccab,
[in, optional] void *pv
);
Parameters
[in, out] perf
Pointer to an ERF structure that receives the error information.
[in] pfnfcifp
Pointer to an application-defined callback function to notify when a file is placed in the cabinet. The function should be declared using the FNFCIFILEPLACED macro.
[in] pfna
Pointer to an application-defined callback function to allocate memory. The function should be declared using the FNFCIALLOC macro.
[in] pfnf
Pointer to an application-defined callback function to free previously allocated memory. The function should be declared using the FNFCIFREE macro.
[in] pfnopen
Pointer to an application-defined callback function to open a file. The function should be declared using the FNFCIOPEN macro.
[in] pfnread
Pointer to an application-defined callback function to read data from a file. The function should be declared using the FNFCIREAD macro.
[in] pfnwrite
Pointer to an application-defined callback function to write data to a file. The function should be declared using the FNFCIWRITE macro.
[in] pfnclose
Pointer to an application-defined callback function to close a file. The function should be declared using the FNFCICLOSE macro.
[in] pfnseek
Pointer to an application-defined callback function to move a file pointer to the specific ___location. The function should be declared using the FNFCISEEK macro.
[in] pfndelete
Pointer to an application-defined callback function to delete a file. The function should be declared using the FNFCIDELETE macro.
[in] pfnfcigtf
Pointer to an application-defined callback function to retrieve a temporary file name. The function should be declared using the FNFCIGETTEMPFILE macro.
[in] pccab
Pointer to a CCAB structure that contains the parameters for creating a cabinet.
[in, optional] pv
Pointer to an application-defined value that is passed to callback functions.
Return value
If the function succeeds, it returns a non-NULL HFCI context pointer; otherwise, NULL.
Extended error information is provided in the ERF structure.
Remarks
FCI supports multiple simultaneous contexts. As a result it is possible to create or extract multiple cabinets at the same time within the same application. If the application is multithreaded, it is also possible to run a different context in each thread; however, an application cannot use the same context simultaneously in multiple threads. For example, FCIAddFile cannot be called from two different threads, using the same FCI context.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | fci.h |
Library | Cabinet.lib |
DLL | Cabinet.dll |