ProgIDFromCLSID 함수(combaseapi.h)
지정된 CLSID에 대한 ProgID를 검색합니다.
구문
HRESULT ProgIDFromCLSID(
[in] REFCLSID clsid,
[out] LPOLESTR *lplpszProgID
);
매개 변수
[in] clsid
ProgID를 요청할 CLSID입니다.
[out] lplpszProgID
ProgID 문자열을 수신하는 포인터 변수의 주소입니다. clsid를 나타내는 문자열에는 바깥쪽 중괄호가 포함됩니다.
반환 값
이 함수는 다음 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
ProgID가 성공적으로 반환되었습니다. |
|
레지스트리에 등록되지 않은 클래스입니다. |
|
레지스트리에서 읽는 동안 오류가 발생했습니다. |
설명
개체 삽입 대화 상자에 나열된 모든 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 |