IPersist::GetClassID 메서드(objidl.h)

개체의 CLSID(클래스 식별자)를 검색합니다.

구문

HRESULT GetClassID(
  [out] CLSID *pClassID
);

매개 변수

[out] pClassID

반환 시 CLSID를 받는 위치에 대한 포인터입니다. CLSID는 개체의 데이터를 조작할 수 있는 코드를 정의하는 개체 클래스를 고유하게 나타내는 GUID(Globally Unique Identifier)입니다.

반환 값

메서드가 성공하면 반환 값이 S_OK. 그렇지 않으면 E_FAIL.

설명

GetClassID 메서드는 개체에 대한 클래스 식별자(CLSID)를 검색하며, 이후 작업에서 개체별 코드를 호출자의 컨텍스트에 로드하는 데 사용됩니다.

발신자에 대한 참고 사항

컨테이너 애플리케이션은 이 메서드를 호출하여 다른 클래스로 취급하는 개체의 원래 CLSID를 검색할 수 있습니다. 사용자가 개체를 저장해야 하는 편집 작업을 수행한 경우 이러한 호출이 필요합니다. 컨테이너가 CLSID로 처리를 사용하여 저장하는 경우 원래 애플리케이션은 더 이상 개체를 편집할 수 없습니다. 일반적으로 이 경우 컨테이너는 필요한 모든 단계를 수행하는 OleSave 도우미 함수를 호출합니다. 이러한 이유로 대부분의 컨테이너 애플리케이션은 이 메서드를 직접 호출할 필요가 없습니다.

예외는 특정 개체에 대한 개체 처리기를 제공하는 컨테이너입니다. 특히 컨테이너 애플리케이션은 개체의 CLSID를 가져와서 레지스트리에서 클래스 특정 정보를 검색하는 데 사용하면 안 됩니다. 대신 컨테이너는 IOleObjectIDataObject 인터페이스를 사용하여 개체에서 직접 이러한 클래스별 정보를 검색해야 합니다.

구현자에 대한 참고 사항

일반적으로 이 메서드의 구현은 단순히 개체에 대한 상수 CLSID를 제공합니다. 그러나 개체의 TreatAs 레지스트리 키가 에뮬레이션을 지원하는 애플리케이션에 의해 설정된 경우(개체를 다른 클래스 중 하나로 처리하는 경우) GetClassID 호출은 TreatAs 키에 지정된 CLSID를 제공해야 합니다. 에뮬레이션에 대한 자세한 내용은 CoTreatAsClass를 참조하세요.

개체가 실행 중 상태이면 기본 처리기는 개체의 구현에 대한 호출을 위임하는 GetClassID 의 구현을 호출합니다. 개체가 실행되고 있지 않으면 기본 처리기는 ReadClassStg 함수를 호출하여 개체의 스토리지에 저장된 CLSID를 읽습니다.

개체에 대한 사용자 지정 개체 처리기를 작성하는 경우 이 메서드를 기본 처리기 구현에 위임하는 것이 좋습니다( OleCreateDefaultHandler 참조).

URL 모니커 노트

이 메서드는 CLSID_StdURLMoniker 반환합니다.

요구 사항

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

추가 정보

IBaseFilter

IPersist

IPersistFolder