FCICreate 関数 (fci.h)
FCICreate 関数は FCI コンテキストを作成します。
構文
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
);
パラメーター
[in, out] perf
エラー情報を受け取る ERF 構造体へのポインター。
[in] pfnfcifp
ファイルがキャビネットに配置されたときに通知するアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIFILEPLACED マクロを使用して宣言する必要があります。
[in] pfna
メモリを割り当てるアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIALLOC マクロを使用して宣言する必要があります。
[in] pfnf
以前に割り当てられたメモリを解放するためのアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIFREE マクロを使用して宣言する必要があります。
[in] pfnopen
ファイルを開くアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIOPEN マクロを使用して宣言する必要があります。
[in] pfnread
ファイルからデータを読み取るアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIREAD マクロを使用して宣言する必要があります。
[in] pfnwrite
ファイルにデータを書き込むアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIWRITE マクロを使用して宣言する必要があります。
[in] pfnclose
ファイルを閉じるアプリケーション定義のコールバック関数へのポインター。 関数は FNFCICLOSE マクロを使用して宣言する必要があります。
[in] pfnseek
ファイル ポインターを特定の場所に移動するアプリケーション定義のコールバック関数へのポインター。 関数は FNFCISEEK マクロを使用して宣言する必要があります。
[in] pfndelete
ファイルを削除するアプリケーション定義のコールバック関数へのポインター。 関数は FNFCIDELETE マクロを使用して宣言する必要があります。
[in] pfnfcigtf
一時ファイル名を取得するアプリケーション定義のコールバック関数へのポインター。 関数は 、FNFCIGETTEMPFILE マクロを使用して宣言する必要があります。
[in] pccab
キャビネットを作成するためのパラメーターを含む CCAB 構造体へのポインター。
[in, optional] pv
コールバック関数に渡されるアプリケーション定義値へのポインター。
戻り値
関数が成功すると、NULL 以外の HFCI コンテキスト ポインターが返されます。それ以外の場合は NULL。
拡張エラー情報は ERF 構造で提供されます。
解説
FCI では、複数の同時コンテキストがサポートされています。 その結果、同じアプリケーション内で複数のキャビネットを同時に作成または抽出できます。 アプリケーションがマルチスレッドの場合は、各スレッドで異なるコンテキストを実行することもできます。ただし、アプリケーションは複数のスレッドで同じコンテキストを同時に使用することはできません。 たとえば、 同じ FCI コンテキストを 使用して、2 つの異なるスレッドから FCIAddFile を呼び出すことはできません。
要件
対象プラットフォーム | Windows |
ヘッダー | fci.h |
Library | Cabinet.lib |
[DLL] | Cabinet.dll |