다음을 통해 공유


IOleObject::GetUserType 메서드(oleidl.h)

메뉴, 목록 상자 및 대화 상자와 같은 사용자 인터페이스 요소에 표시할 개체의 사용자 형식 이름을 검색합니다.

구문

HRESULT GetUserType(
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

매개 변수

[in] dwFormOfType

사용자에게 표시할 사용자 유형 이름의 형식입니다. 가능한 값은 USERCLASSTYPE 열거형에서 가져옵니다.

[out] pszUserType

사용자 형식 문자열에 대한 포인터를 수신하는 LPOLESTR 포인터 변수의 주소입니다. 호출자는 현재 IMalloc instance 사용하여 pszUserType을 해제해야 합니다. 오류가 발생하면 구현에서 pszUserType을NULL로 설정해야 합니다.

반환 값

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

반환 코드 설명
OLE_S_USEREG
레지스트리를 사용하여 기본 처리기의 구현에 위임하여 요청된 정보를 제공합니다.

설명

컨테이너는 IOleObject::GetUserType 을 호출하여 목록 상자, 메뉴 및 대화 상자에 포함된 개체를 일반 사용자가 인식할 수 있는 이름으로 나타냅니다. 예를 들어 "Word 문서", "Excel 차트" 및 "Paintbrush 개체"가 있습니다. IOleObject::GetUserType에서 반환된 정보는 IOleObject::GetUserClassID에서 반환된 이진 클래스 식별자와 동일한 사용자가 읽을 수 있는 정보입니다.

발신자에게 참고 사항

IOleObject::GetUserType의 기본 처리기 구현에서는 개체의 클래스 식별자(IOleObject::GetUserClassID에서 반환된 pClsid 매개 변수) 및 dwFormOfType 매개 변수를 레지스트리의 키로 함께 사용합니다. 키와 정확히 일치하는 항목이 발견되면 해당 항목에 지정된 사용자 유형이 반환됩니다. 키의 CLSID 부분만 일치하는 경우 사용 가능한 가장 낮은 번호 항목(일반적으로 전체 이름)이 사용됩니다. CLSID를 찾을 수 없거나 클래스에 등록된 사용자 형식이 없는 경우 개체의 스토리지에 현재 있는 사용자 형식이 사용됩니다.

IOleObject::GetUserType에서 반환된 문자열을 캐시하면 안 됩니다. 대신 문자열이 필요할 때마다 이 메서드를 호출합니다. 이렇게 하면 포함된 개체가 호출자의 지식 없이 한 형식에서 다른 형식으로 변환될 때 올바른 결과가 보장됩니다. 기본 처리기가 레지스트리를 사용하여 구현하기 때문에 이 메서드를 호출하는 것은 저렴합니다.

구현자에 대한 참고 사항

이 메서드의 애플리케이션 구현으로 OLE_S_USEREG 반환하여 기본 처리기에서 제공하는 구현을 사용할 수 있습니다. 사용자 형식 이름이 빈 문자열이면 "알 수 없는 개체" 메시지가 반환됩니다.

OLE 도우미 함수 OleRegGetUserType 을 호출하여 적절한 사용자 유형을 반환할 수 있습니다.

요구 사항

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

추가 정보

IOleObject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE