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 |