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 반환합니다. 다른 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
파일이 바인딩되지 않았습니다. |
|
원본에 바인딩할 수 없습니다. |
|
매체가 가득 찼습니다. |
|
TYMED가 잘못되었습니다. |
|
잘못된 LINDEX입니다. |
|
FORMATETC 구조가 잘못되었습니다. |
설명
OleCreateFromFile 함수는 명명된 파일의 내용에서 포함된 새 개체를 만듭니다. 등록 데이터베이스의 ProgID에 PackageOnFileDrop 키가 포함된 경우 패키지를 만듭니다. 그렇지 않은 경우 함수는 GetClassFile 함수를 호출하여 lpszFileName 매개 변수와 연결된 CLSID를 가져옵니다. 그런 다음 해당 CLSID와 연결된 OLE 2 포함 개체를 만듭니다. OleCreateFromFile의 rclsid 매개 변수는 항상 무시되며 CLSID_NULL 설정해야 합니다.
다른 OleCreateXxx 함수에 관해서는 새로 만든 개체가 편집을 위해 사용자에게 표시되지 않으므로 DoVerb 작업이 필요합니다. 파일 삽입 작업을 구현하는 데 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ole2.h(Ole2.h 포함) |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |