다음을 통해 공유


ProgIDFromCLSID 함수(combaseapi.h)

지정된 CLSID에 대한 ProgID를 검색합니다.

구문

HRESULT ProgIDFromCLSID(
  [in]  REFCLSID clsid,
  [out] LPOLESTR *lplpszProgID
);

매개 변수

[in] clsid

ProgID를 요청할 CLSID입니다.

[out] lplpszProgID

ProgID 문자열을 수신하는 포인터 변수의 주소입니다. clsid를 나타내는 문자열에는 바깥쪽 중괄호가 포함됩니다.

반환 값

이 함수는 다음 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
ProgID가 성공적으로 반환되었습니다.
REGDB_E_CLASSNOTREG
레지스트리에 등록되지 않은 클래스입니다.
REGDB_E_READREGDB
레지스트리에서 읽는 동안 오류가 발생했습니다.

설명

개체 삽입 대화 상자에 나열된 모든 OLE 개체 클래스에는 레지스트리에 저장된 지정된 클래스를 고유하게 식별하는 문자열인 ProgID(프로그래밍 식별자)가 있어야 합니다. 개체 삽입 대화 상자의 적격성을 확인하는 것 외에도 ProgID를 매크로 프로그래밍 언어의 식별자로 사용하여 클래스를 식별할 수 있습니다. 마지막으로 ProgID는 OLE 1 컨테이너에 배치되는 OLE 클래스의 개체에 사용되는 클래스 이름이기도 합니다.

ProgIDFromCLSID 는 레지스트리의 항목을 사용하여 변환을 수행합니다. OLE 애플리케이션 작성자는 레지스트리가 애플리케이션의 설치 프로그램에서 올바르게 구성되었는지 확인해야 합니다.

ProgID 문자열이 있는 경우 동일한 애플리케이션의 OLE 1 버전을 포함하여 OLE 1 애플리케이션의 클래스 이름과 달라야 합니다. 또한 ProgID 문자열은 39자를 초과하거나, 숫자로 시작하거나, 단일 마침표만 제외하고 문장 부호(밑줄 포함)를 포함해서는 안 됩니다.

ProgID는 사용자 인터페이스에서 사용자에게 표시되지 않아야 합니다. 개체에 대해 표시 가능한 짧은 문자열이 필요한 경우 IOleObject::GetUserType을 호출합니다.

CLSIDFromProgID 함수를 호출하여 지정된 ProgID와 연결된 CLSID를 찾습니다. CoTaskMemFree 함수를 호출하여 작업을 마치면 반환된 ProgID를 해제해야 합니다.

요구 사항

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

추가 정보

CLSIDFromProgID