OleFlushClipboard 함수(ole2.h)

클립보드 종료 시퀀스를 수행합니다. 또한 OleSetClipboard 함수에 의해 클립보드에 배치된 IDataObject 포인터를 해제합니다.

구문

HRESULT OleFlushClipboard();

반환 값

이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.

반환 코드 설명
CLIPBRD_E_CANT_OPEN
OleFlushClipboard 내에서 사용되는 Windows OpenClipboard 함수가 실패했습니다.
CLIPBRD_E_CANT_CLOSE
OleFlushClipboard 내에서 사용되는 Windows CloseClipboard 함수가 실패했습니다.

설명

OleFlushClipboard 는 데이터 개체의 데이터를 클립보드로 렌더링하고 IDataObject 포인터를 데이터 개체에 놓습니다. 데이터 개체를 클립보드에 배치하는 애플리케이션이 실행되는 동안 클립보드는 데이터 개체에 대한 포인터만 보유하므로 메모리가 저장됩니다. 클립보드 작업의 원본 역할을 하는 애플리케이션을 작성하는 경우 애플리케이션을 닫을 때(예: 사용자가 애플리케이션에서 종료하는 경우) OleFlushClipboard 함수를 호출할 수 있습니다. OleFlushClipboard를 호출하면 애플리케이션 종료 후 OLE 개체를 붙여넣고 붙여넣을 수 있습니다.

OleFlushClipboard를 호출하기 전에 OleIsCurrentClipboard 함수를 호출하여 데이터가 클립보드에 있는지 쉽게 확인할 수 있습니다.

OleFlushClipboard 는 애플리케이션 종료 후 사용할 수 있도록 OLE 1 호환성 형식을 포함하여 데이터 전송 개체에서 제공하는 모든 형식을 클립보드에 남깁니다. OLE 1 호환성 형식 외에도 전역 핸들 매체(TYMED_FILE 제외)에서 제공되고 NULL 대상 디바이스로 포맷된 모든 형식이 포함됩니다. 예를 들어 데이터 원본 애플리케이션이 IStorage 개체에 특정 클립보드 형식(예: cfFOO)을 제공하고 OleFlushClipboard 함수를 호출하는 경우 스토리지 개체가 메모리에 복사되고 hglobal 메모리 핸들이 클립보드에 배치됩니다.

클립보드의 정보를 검색하려면 기본 데이터 개체를 만드는 다른 애플리케이션에서 OleGetClipboard 함수를 호출하면 클립보드의 hglobal이 스토리지 개체가 됩니다. 또한 FORMATETC 열거자 및 IDataObject::QueryGetData 메서드는 모두 TYMED_ISTORAGE 원래 클립보드 형식(cfFOO)을 다시 사용할 수 있음을 올바르게 나타냅니다.

클립보드를 비우려면 해당 매개 변수에 대해 NULL 값을 지정하는 OleSetClipboard 함수를 호출합니다. 종료 후 데이터를 클립보드에 둘 필요가 없거나 표준 Windows 클립보드 함수를 사용하여 데이터를 클립보드에 배치할 경우 애플리케이션이 닫을 때 이를 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ole2.h
라이브러리 Ole32.lib
DLL Ole32.dll
API 세트 ext-ms-win-com-ole32-l1-1-5(Windows 10 버전 10.0.15063에 도입됨)

추가 정보

Idataobject

OleGetClipboard

OleIsCurrentClipboard

OleSetClipboard