다음을 통해 공유


IPersistFile::GetCurFile 메서드(objidl.h)

개체와 연결된 파일의 현재 이름을 검색합니다. 현재 작업 파일이 없는 경우 이 메서드는 개체에 대한 기본 저장 프롬프트를 검색합니다.

구문

HRESULT GetCurFile(
  [out] LPOLESTR *ppszFileName
);

매개 변수

[out] ppszFileName

현재 파일의 경로 또는 기본 파일 이름 프롬프트(예: *.txt)입니다. 오류가 발생하면 ppszFileNameNULL로 설정됩니다.

반환 값

이 메서드는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
유효한 절대 경로가 성공적으로 반환되었습니다.
S_FALSE
기본 저장 프롬프트가 반환되었습니다.
E_OUTOFMEMORY
메모리 부족으로 인해 작업이 실패했습니다.
E_FAIL
메모리 부족 이외의 이유로 인해 작업이 실패했습니다.

설명

이 메서드는 IMalloc::Alloc 메서드를 사용하여 ppszFileName 매개 변수에 반환된 문자열에 대한 메모리를 할당합니다. 호출자는 IMalloc::Free 메서드를 호출하여 문자열을 해제합니다. 호출자와 이 메서드는 모두 CoGetMalloc 호출에서 제공하는 OLE 작업 할당자를 사용합니다.

ppszFileName에서 반환된 파일 이름은 문서를 로드할 때 IPersistFile::Load 호출에 지정된 이름입니다. 또는 IPersistFile::SaveCompleted에서 문서를 다른 파일에 저장한 경우 입니다.

개체에 현재 작업 파일이 없는 경우 다른 이름으로 저장 대화 상자에 표시할 기본 프롬프트를 제공해야 합니다. 예를 들어 워드 프로세서 개체의 기본 저장 프롬프트는

"*.txt".

발신자에 대한 참고 사항

OLE는 GetCurFile 메서드를 호출하지 않습니다. 애플리케이션은 이 인터페이스의 저장 메서드도 호출하지 않는 한 이 메서드를 호출하지 않습니다.

개체를 저장할 때 IPersistFile::Save 를 호출하기 전에 이 메서드를 호출하여 개체에 연결된 파일이 있는지 여부를 확인할 수 있습니다. 이 메서드가 S_OK 반환하는 경우 NULL 파일 이름과 fRemember 매개 변수의 TRUE 값을 사용하여 IPersistFile::Save를 호출하여 개체에 현재 파일에 저장하도록 지시할 수 있습니다. 이 메서드가 S_FALSE 반환하는 경우 ppszFileName 매개 변수에 반환된 저장 프롬프트를 사용하여 최종 사용자에게 파일 이름을 제공하도록 요청할 수 있습니다. 그런 다음 사용자가 다른 이름으로 저장 작업을 수행하기 위해 입력한 파일 이름으로 IPersistFile::Save를 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objidl.h

추가 정보

IPersistFile