IStorage::D estroyElement 메서드(objidl.h)

DestroyElement 메서드는 이 스토리지 개체에서 지정된 스토리지 또는 스트림을 제거합니다.

구문

HRESULT DestroyElement(
  [in] const OLECHAR *pwcsName
);

매개 변수

[in] pwcsName

제거할 스토리지 또는 스트림의 이름을 포함하는 와이드 문자 null로 끝나는 유니코드 문자열에 대한 포인터입니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
S_OK 요소가 성공적으로 제거되었습니다.
E_PENDING 비동기 스토리지만 해당: 요소 데이터의 일부 또는 전체를 현재 사용할 수 없습니다.
STG_E_ACCESSDENIED 호출자에게 요소를 제거할 수 있는 권한이 없습니다.
STG_E_FILENOTFOUND 지정된 이름의 요소가 없습니다.
STG_E_INSUFFICIENTMEMORY 메모리 부족으로 인해 요소가 제거되지 않았습니다.
STG_E_INVALIDNAME pwcsName 값이 잘못되었습니다.
STG_E_INVALIDPOINTER 요소에 대해 지정된 포인터가 잘못되었습니다.
STG_E_INVALIDPARAMETER 매개 변수 중 하나가 잘못되었습니다.
STG_E_REVERTED 스토리지 개체가 트랜잭션 트리에서 위의 되돌리기 작업에 의해 무효화되었습니다.
STG_E_TOOMANYOPENFILES 열려 있는 파일이 너무 많기 때문에 요소가 제거되지 않았습니다.

설명

DestroyElement 메서드는 현재 스토리지 개체에서 하위 저장소 또는 스트림을 삭제합니다. DestroyElement를 성공적으로 호출하면 부모 스토리지에서 제거된 요소의 열린 instance 유효하지 않습니다.

트랜잭션 모드에서 스토리지 개체를 열면 요소를 파기하려면 DestroyElement 호출 뒤에 IStorage::Commit을 호출해야 합니다.

참고DestroyElement 메서드는 디렉터리 스트림을 축소하지 않습니다. 삭제된 디렉터리 항목만 잘못된 것으로 표시합니다. 새 스토리지 또는 스트림을 만들 때 잘못된 항목이 재사용됩니다.

콘텐츠 스트림의 경우 삭제된 스트림 섹터는 무료로 표시됩니다. 여유 섹터가 파일의 끝에 있는 경우 문서 파일이 축소됩니다. 문서 파일을 압축하려면 루트 스토리지 개체에서 IStorage::CopyTo 를 호출하고 새 스토리지 개체에 복사합니다.

 

요구 사항

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

추가 정보

IStorage - 복합 파일 구현