---
name: "FCICreate"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/FCICreate"
---

# FCICreate(3w)

## NAME

**FCICreate** (CABINET.10)

## SYNOPSIS

HFCI FCICreate\
  (\
   PERF              *perf*,\
   PFNFCIFILEPLACED  *pfnfiledest*,\
   PFNFCIALLOC       *pfnalloc*,\
   PFNFCIFREE        *pfnfree*,\
   PFNFCIOPEN        *pfnopen*,\
   PFNFCIREAD        *pfnread*,\
   PFNFCIWRITE       *pfnwrite*,\
   PFNFCICLOSE       *pfnclose*,\
   PFNFCISEEK        *pfnseek*,\
   PFNFCIDELETE      *pfndelete*,\
   PFNFCIGETTEMPFILE *pfnfcigtf*,\
   PCCAB             *pccab*,\
   void\*             *pv*\
  )

## DESCRIPTION

FCICreate is provided with several callbacks and returns a handle which can be used to create cabinet files.

## PARAMS

*perf* **\[IO\]**  A pointer to an **ERF** structure. When FCICreate returns an error condition, error information may be found here as well as from GetLastError.

*pfnfiledest* **\[In\]**  A pointer to a function which is called when a file is placed. Only useful for subsequent cabinet files.

*pfnalloc* **\[In\]**  A pointer to a function which allocates ram. Uses the same interface as malloc.

*pfnfree* **\[In\]**  A pointer to a function which frees ram. Uses the same interface as free.

*pfnopen* **\[In\]**  A pointer to a function which opens a file. Uses the same interface as \_open.

*pfnread* **\[In\]**  A pointer to a function which reads from a file into a caller-provided buffer. Uses the same interface as \_read.

*pfnwrite* **\[In\]**  A pointer to a function which writes to a file from a caller-provided buffer. Uses the same interface as \_write.

*pfnclose* **\[In\]**  A pointer to a function which closes a file handle. Uses the same interface as \_close.

*pfnseek* **\[In\]**  A pointer to a function which seeks in a file. Uses the same interface as \_lseek.

*pfndelete* **\[In\]**  A pointer to a function which deletes a file.

*pfnfcigtf* **\[In\]**  A pointer to a function which gets the name of a temporary file.

*pccab* **\[In\]**  A pointer to an initialized **CCAB** structure.

*pv* **\[In\]**  A pointer to an application-defined notification function which will be passed to other **FCI** functions as a parameter.

## RETURNS

On success, returns an **FCI** handle of type **HFCI**. On failure, the **NULL** file handle is returned. Error info can be retrieved from *perf*.

## INCLUDES

fci.h

## IMPLEMENTATION

Declared in **"fci.h"**.

Implemented in **"dlls/cabinet/fci.c"**.

Debug channel **"cabinet"**.
