다음을 통해 공유


OleRegEnumFormatEtc 함수(ole2.h)

OLE 개체 서버가 시스템 레지스트리에 등록한 데이터 형식을 열거하는 데 사용할 수 있는 열거형 개체를 만듭니다. 개체 애플리케이션 또는 개체 처리기는 해당 형식을 열거해야 하는 경우 이 함수를 호출합니다. 사용자 지정 DLL 개체 애플리케이션 개발자는 이 함수를 사용하여 기본 개체 처리기의 동작을 에뮬레이트합니다.

구문

HRESULT OleRegEnumFormatEtc(
  [in]  REFCLSID        clsid,
  [in]  DWORD           dwDirection,
  [out] LPENUMFORMATETC *ppenum
);

매개 변수

[in] clsid

형식이 요청되는 클래스의 CLSID입니다.

[in] dwDirection

IDataObject::GetData에 전달할 수 있는 형식 또는 IDataObject::SetData에 전달할 수 있는 형식을 열거할지 여부를 나타냅니다. 가능한 값은 열거형 DATADIR에서 가져옵니다.

[out] ppenum

열거형 개체에 대한 인터페이스 포인터를 수신하는 IEnumFORMATETC 포인터 변수의 주소입니다.

반환 값

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

반환 코드 설명
E_OUTOFMEMORY
작업에 대한 메모리가 부족합니다.
REGDB_E_CLASSNOTREG
클래스 개체에 대해 등록된 CLSID가 없습니다.
REGDB_E_READREGDB
레지스트리를 읽는 동안 오류가 발생했습니다.
OLE_E_REGDB_KEY
레지스트리에서 DataFormats/GetSet 키가 없습니다.

설명

개체 애플리케이션은 두 가지 방법 중 하나로 지원되는 데이터 형식을 열거하기 위해 FORMATETC 구조체에 대한 열거형 개체를 만들도록 OLE에 요청할 수 있습니다. 한 가지 방법은 OleRegEnumFormatEtc를 호출하는 것입니다. 다른 하나는 IDataObject::EnumFormatEtc에 대한 기본 개체 처리기의 호출에 대한 응답으로 OLE_S_USEREG 반환하는 것입니다. OLE_S_USEREG 기본 처리기에 OleRegEnumFormatEtc를 호출하도록 지시합니다. DLL 개체 애플리케이션은 OLE_S_USEREG 반환할 수 없으므로 개체 처리기에 작업을 위임하는 대신 OleRegEnumFormatEtc 를 호출해야 합니다. 제공된 IEnumFORMATETC 포인터를 개체에 사용하면 표준 열거형 개체 메서드를 호출하여 열거형을 수행할 수 있습니다.

OleRegEnumFormatEtc 함수 및 해당 형제 함수인 OleRegGetUserType, OleRegGetMiscStatusOleRegEnumVerbs는 사용자 지정 DLL 개체 애플리케이션 개발자가 레지스트리에서 개체에 대한 정보를 가져오는 데 있어 OLE의 기본 개체 처리기의 동작을 에뮬레이트하는 방법을 제공합니다. 이러한 함수를 사용하면 직접 작성하는 상당한 작업과 레지스트리에서 직접 작업하는 데 내재된 문제를 방지할 수 있습니다. 또한 이러한 함수를 직접 코딩하지 않고도 이러한 함수의 향후 향상된 기능과 최적화를 얻을 수 있습니다.

요구 사항

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

추가 정보

IDataObject::EnumFormatEtc

IEnumFORMATETC