다음을 통해 공유


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 컨텍스트를 사용하여 두 개의 서로 다른 스레드에서 FCIAddFile 을 호출할 수 없습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 fci.h
라이브러리 Cabinet.lib
DLL Cabinet.dll

추가 정보

FCIAddFile

FCIDestroy

FCIFlushFolder