다음을 통해 공유


IPreviousVersionsInfo::AreSnapshotsAvailable 메서드(shobjidl.h)

이전 시간에 시스템에서 기록한 Windows Server 2003 볼륨 이미지의 가용성에 대한 쿼리입니다.

구문

HRESULT AreSnapshotsAvailable(
  [in]  LPCWSTR pszPath,
  [in]  BOOL    fOkToBeSlow,
  [out] BOOL    *pfAvailable
);

매개 변수

[in] pszPath

형식: LPCWSTR

해당 볼륨의 파일 또는 폴더에 대한 정규화된 경로를 포함하는 null로 끝나는 유니코드 문자열입니다.

참고 현재 Windows Server 2003 볼륨에 저장된 파일 및 폴더에 대한 경로만 지원됩니다.
 

[in] fOkToBeSlow

형식: BOOL

저장된 볼륨 이미지의 가용성을 확인하기 위해 서버에 연결할지 여부를 지정하는 부울 값입니다. 자세한 내용은 설명 섹션을 참조하세요.

TRUE

결과가 아직 캐시되지 않은 경우 서버에 문의합니다.

FALSE

서버에 연결하지 마세요. 대신 캐시된 결과를 사용합니다.

[out] pfAvailable

형식: BOOL*

결과를 포함하는 부울 변수에 대한 포인터입니다. 이 값은 메서드 호출이 성공한 경우에만 유효합니다. 그렇지 않으면 정의되지 않습니다.

TRUE

pszPath에 있는 파일 또는 폴더가 있는 볼륨의 저장된 이미지를 하나 이상 사용할 수 있습니다.

FALSE

볼륨 이미지가 저장되지 않습니다.

반환 값

형식: HRESULT

다음을 포함하지만 이에 국한되지 않는 표준 오류 값을 반환합니다.

반환 코드 Description
S_OK
성공.
E_PENDING
fOkToBeSlowFALSE 이며 결과는 현재 캐시되지 않습니다.

설명

IPreviousVersionsInfo::AreSnapshotsAvailable이 파일 또는 폴더에서 호출되는 경우 결과는 롤백 정보를 해당 특정 파일 또는 폴더에 사용할 수 있음을 나타내지 않으며, 단지 전체 볼륨의 스냅샷 사용할 수 있음을 나타냅니다. 이 결과는 캐시되며, 동일한 볼륨에 저장된 모든 항목에 대해 문의하는 후속 호출은 서버를 다시 연결하는 대신 성능 오버헤드가 거의 없는 캐시된 결과에 액세스합니다.

서버의 응답이 메모리에 캐시되면 fOkToBeSlowTRUE인 경우에도 후속 호출이 서버에 연결되지 않습니다. fOkToBeSlowFALSE이고 서버의 응답이 이전 호출에서 아직 캐시되지 않은 경우 메서드는 E_PENDING 반환합니다. 이 경우 fOkToBeSlowTRUE 로 설정하고 IPreviousVersionsInfo::AreSnapshotsAvailable 을 다시 호출하여 서버에 연결합니다.

성능을 향상시키려면 이 메서드를 호출하는 UI 스레드는 항상 fOkToBeSlowFALSE로 설정해야 합니다. 메서드가 E_PENDING 반환하는 경우 다음 단계를 수행합니다.

  • 백그라운드 스레드에서 IPreviousVersionsInfo의 또 다른 instance 만듭니다.
  • fOkToBeSlow가 TRUE로 설정된 상태에서 IPreviousVersionsInfo::AreSnapshotsAvailable을 호출합니다.
  • IPreviousVersionsInfo::AreSnapshotsAvailable을 다시 호출하도록 원래 UI 스레드에 신호를 보냅니다. 그런 다음 캐시에서 결과를 가져옵니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl.h
DLL Twext.dll(버전 5.2 이상)