다음을 통해 공유


CAtlDllModuleT 클래스

이 클래스는 DLL의 모듈을 나타냅니다.

구문

template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>

매개 변수

T
에서 파생된 CAtlDllModuleT클래스입니다.

멤버

공용 생성자

속성 설명
CAtlDllModuleT::CAtlDllModuleT 생성자입니다.
CAtlDllModuleT::~CAtlDllModuleT 소멸자입니다.

공용 메서드

이름 설명
CAtlDllModuleT::D llCanUnloadNow DLL을 언로드할 수 있는지 테스트합니다.
CAtlDllModuleT::D llGetClassObject 클래스 팩터리를 반환합니다.
CAtlDllModuleT::D llMain DLL(동적 연결 라이브러리)에 대한 선택적 진입점입니다.
CAtlDllModuleT::D llRegisterServer DLL의 개체에 대한 항목을 시스템 레지스트리에 추가합니다.
CAtlDllModuleT::D llUnregisterServer DLL의 개체에 대한 시스템 레지스트리의 항목을 제거합니다.
CAtlDllModuleT::GetClassObject 클래스 팩터리를 반환합니다. DllGetClassObject에서 호출됩니다.

설명

CAtlDllModuleT 는 DLL(동적 연결 라이브러리)의 모듈을 나타내며 모든 DLL 프로젝트에서 사용되는 함수를 제공합니다. 이 CAtlModuleT 클래스 전문화에는 등록 지원이 포함됩니다.

ATL의 모듈에 대한 자세한 내용은 ATL 모듈 클래스를 참조 하세요.

상속 계층 구조

_ATL_MODULE

CAtlModule

CAtlModuleT

CAtlDllModuleT

요구 사항

헤더: atlbase.h

CAtlDllModuleT::CAtlDllModuleT

생성자입니다.

CAtlDllModuleT() throw();

CAtlDllModuleT::~CAtlDllModuleT

소멸자입니다.

~CAtlDllModuleT() throw();

CAtlDllModuleT::D llCanUnloadNow

DLL을 언로드할 수 있는지 테스트합니다.

HRESULT DllCanUnloadNow() throw();

Return Value

DLL을 언로드할 수 있으면 S_OK 반환하고, DLL을 언로드할 수 없는 경우 S_FALSE 반환합니다.

CAtlDllModuleT::D llGetClassObject

클래스 팩터리를 반환합니다.

HRESULT DllGetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

매개 변수

rclsid
만들 개체의 CLSID입니다.

riid
요청된 인터페이스의 IID입니다.

ppv
riid로 식별되는 인터페이스 포인터에 대한 포인터입니다. 개체가 이 인터페이스 를 지원하지 않는 경우 ppv 는 NULL로 설정됩니다.

Return Value

성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.

CAtlDllModuleT::D llMain

DLL(동적 연결 라이브러리)에 대한 선택적 진입점입니다.

BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();

매개 변수

dwReason
DLL_PROCESS_ATTACH 설정하면 DLL_THREAD_ATTACH 및 DLL_THREAD_DETACH 알림 호출이 비활성화됩니다.

lpReserved
예약되었습니다.

Return Value

항상 TRUE를 반환합니다.

설명

DLL_THREAD_ATTACH 및 DLL_THREAD_DETACH 알림 호출을 사용하지 않도록 설정하면 DLL이 많고, 스레드를 자주 만들고 삭제하며, DLL에 첨부 파일/분리에 대한 스레드 수준 알림이 필요하지 않은 다중 스레드 애플리케이션에 대한 유용한 최적화가 될 수 있습니다.

CAtlDllModuleT::D llRegisterServer

DLL의 개체에 대한 항목을 시스템 레지스트리에 추가합니다.

HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();

매개 변수

bRegTypeLib
형식 라이브러리를 등록하려면 TRUE입니다. 기본값은 TRUE입니다.

Return Value

성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.

CAtlDllModuleT::D llUnregisterServer

DLL의 개체에 대한 시스템 레지스트리의 항목을 제거합니다.

HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();

매개 변수

bUnRegTypeLib
형식 라이브러리를 레지스트리에서 제거할 경우 TRUE입니다. 기본값은 TRUE입니다.

Return Value

성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.

CAtlDllModuleT::GetClassObject

지정된 CLSID의 개체를 만듭니다.

HRESULT GetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

매개 변수

rclsid
만들 개체의 CLSID입니다.

riid
요청된 인터페이스의 IID입니다.

ppv
riid로 식별되는 인터페이스 포인터에 대한 포인터입니다. 개체가 이 인터페이스 를 지원하지 않는 경우 ppv 는 NULL로 설정됩니다.

Return Value

성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.

설명

이 메서드는 CAtlDllModuleT::D llGetClassObject에서 호출되며 이전 버전과의 호환성을 위해 포함됩니다.

참고 항목

CAtlModuleT 클래스
CAtlExeModuleT 클래스
클래스 개요
모듈 클래스