次の方法で共有


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

関連項目

FCIAddFile

FCIDestroy

FCIFlushFolder