다음을 통해 공유


OleCreateFromFile 함수(ole2.h)

명명된 파일의 내용에서 포함된 개체를 만듭니다.

구문

HRESULT OleCreateFromFile(
  [in]  REFCLSID        rclsid,
  [in]  LPCOLESTR       lpszFileName,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     lpFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

매개 변수

[in] rclsid

이 매개 변수는 예약되어 있으며 CLSID_NULL 합니다.

[in] lpszFileName

개체를 초기화해야 하는 파일의 전체 경로를 지정하는 문자열에 대한 포인터입니다.

[in] riid

호출자가 나중에 새 개체와 통신하는 데 사용하는 인터페이스의 식별자에 대한 참조입니다(일반적으로 IOleObject의 인터페이스 ID로 OLE 헤더에 정의된 IID_IOleObject).

[in] renderopt

새로 만든 개체에 로컬로 캐시된 드로잉 또는 데이터 검색 기능을 나타내는 열거형 OLERENDER 의 값입니다. 선택한 OLERENDER 값은 lpFormatEtc 매개 변수의 가능한 값에 영향을 줍니다.

[in] lpFormatEtc

renderopt 값으로 사용되는 OLERENDER 플래그에 따라 FORMATETC 열거형 값 중 하나에 대한 포인터입니다. 제한 사항은 OLERENDER 열거형도 참조하세요.

[in] pClientSite

개체가 컨테이너에서 서비스를 요청하는 기본 인터페이스인 IOleClientSite의 instance 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in] pStg

스토리지 개체의 IStorage 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

[out] ppvObj

riid에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다. 반환에 성공하면 *ppvObj 는 새로 만든 개체에 대해 요청된 인터페이스 포인터를 포함합니다.

반환 값

이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.

반환 코드 설명
STG_E_FILENOTFOUND
파일이 바인딩되지 않았습니다.
OLE_E_CANT_BINDTOSOURCE
원본에 바인딩할 수 없습니다.
STG_E_MEDIUMFULL
매체가 가득 찼습니다.
DV_E_TYMED
TYMED가 잘못되었습니다.
DV_E_LINDEX
잘못된 LINDEX입니다.
DV_E_FORMATETC
FORMATETC 구조가 잘못되었습니다.

설명

OleCreateFromFile 함수는 명명된 파일의 내용에서 포함된 새 개체를 만듭니다. 등록 데이터베이스의 ProgID에 PackageOnFileDrop 키가 포함된 경우 패키지를 만듭니다. 그렇지 않은 경우 함수는 GetClassFile 함수를 호출하여 lpszFileName 매개 변수와 연결된 CLSID를 가져옵니다. 그런 다음 해당 CLSID와 연결된 OLE 2 포함 개체를 만듭니다. OleCreateFromFilerclsid 매개 변수는 항상 무시되며 CLSID_NULL 설정해야 합니다.

다른 OleCreateXxx 함수에 관해서는 새로 만든 개체가 편집을 위해 사용자에게 표시되지 않으므로 DoVerb 작업이 필요합니다. 파일 삽입 작업을 구현하는 데 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ole2.h(Ole2.h 포함)
라이브러리 Ole32.lib
DLL Ole32.dll

추가 정보

GetClassFile