다음을 통해 공유


모듈 (C++)

.Idl 파일 라이브러리 블록을 정의합니다.

[ module (
   type=dll,
   name=string,
   version=1.0,
   uuid=uuid,
   lcid=integer,
   control=boolean,
   helpstring=string,
   helpstringdll=string,
   helpfile=string,
   helpcontext=integer,
   helpstringcontext=integer,
   hidden=boolean,
   restricted=boolean,
   custom=string,
   resource_name=string,
) ];

매개 변수

  • 형식 (옵션)
    다음 중 하나일 수 있습니다.

    • dll 함수 및 결과 DLL 종속 프로세스 COM 서버로 작동할 수 있도록 하는 클래스를 추가 합니다.기본값입니다.

    • exe 함수 및 그 결과 사용할 수 있는 클래스 추가 프로세스 COM 서버 부족으로 함수를 실행 합니다.

    • 서비스 함수 및 그 결과 사용할 수 있는 클래스 추가 기능을 NT 서비스로 실행 됩니다.

    • 지정 되지 않은 모듈 특성에 관련 된 ATL 코드를 주입을 사용 하지 않습니다: 주입 ATL 모듈 클래스, _AtlModule 전역 인스턴스 및 항목 함수를 가리킵니다.다른 프로젝트의 특성 때문에 ATL 코드를 주입을 비활성화 되지 않습니다.

  • 이름 (옵션)
    라이브러리 블록의 이름입니다.

  • 버전 (옵션)
    라이브러리 블록에 할당할 버전 번호입니다.기본값은 1.0입니다.

  • uuid
    라이브러리에 대 한 고유 ID입니다.이 매개 변수를 지정 하지 않으면 ID 라이브러리에 대해 자동으로 생성 됩니다.검색 할 수 있습니다 해당 uuid 식별자를 사용 하 여 수행할 수 있습니다 하 여 라이브러리 블록의 __uuidof (라이브러리 이름).

  • lcid
    지역화 매개 변수입니다.참조 하십시오 lcid 에 대 한 자세한 내용은.

  • 제어 (옵션)
    컨트롤 라이브러리에 모든 coclass 되도록 지정 합니다.

  • helpstring
    형식 라이브러리를 지정 합니다.

  • helpstringdll (옵션)
    문서 문자열 조회를 수행 하려면 사용 하는.dll 파일의 이름을 설정 합니다.참조 하십시오 helpstringdll 에 대 한 자세한 내용은.

  • 도움말 파일 (옵션)
    형식 라이브러리에 대 한 도움말 파일의 이름입니다.

  • 가 helpcontext (옵션)
    이 형식 라이브러리에 대 한 도움말 ID입니다.

  • helpstringcontext (옵션)
    참조 하십시오 helpstringcontext 에 대 한 자세한 내용은.

  • 숨겨진 (옵션)
    전체 라이브러리를 표시 되지 않습니다.이 컨트롤을 사용 하기 위한 것입니다.호스트는 확장된 속성을 사용 하 여 컨트롤을 래핑하는 새 형식 라이브러리를 생성 해야 합니다.참조는 숨겨진 에 대 한 자세한 내용은 MIDL 속성입니다.

  • 제한 된 (옵션)
    라이브러리 멤버를 임의로 호출할 수 없습니다.참조는 제한 된 에 대 한 자세한 내용은 MIDL 속성입니다.

  • 사용자 정의 (옵션)
    하나 이상의 특성입니다. 이 유사 하 여 사용자 지정 특성입니다.첫 번째 매개 변수를 custom 특성의 GUID입니다.예를 들면 다음과 같습니다.

    [module(custom={guid,1}, custom={guid1,2})]
    
  • resource_name
    문자열 리소스 ID.rgs 파일의 DLL, 실행 파일 또는 서비스의 응용 프로그램 ID를 등록 하는 데 사용 됩니다.모듈 유형 서비스의 경우이 인수는 서비스 이름이 들어 있는 문자열의 ID를 얻을 수도 사용 됩니다.

[!참고]

.Rgs 파일 및 서비스 이름이 포함 된 문자열을 모두 동일한 숫자 값이 포함 되어야 합니다.

설명

사용자 지정 하지 않으면 해당 제한 된 매개 변수를 emitidl, 모듈 C++ 특성을 사용 하는 프로그램에 필요한.

경우 라이브러리 블록 만들어집니다 외에 모듈 특성, 또한 소스 코드를 사용 dispinterface, 듀얼, 개체, 또는 암시 하는 특성 coclass.

하나의 라이브러리 블록.idl 파일에서 허용 됩니다.구현 되 고 가장 최근의 매개 변수 값으로 여러 모듈 항목을 소스 코드에 병합 됩니다.

ATL을 사용 하는 프로젝트 내에서이 특성을 사용 하는 경우 특성의 동작을 변경 합니다.전역 개체도 위의 동작에 특성 삽입 (라는 _AtlModule) 올바른 형식 및 추가 지원 코드입니다.독립 실행형 특성 경우 올바른 모듈 형식에서 파생 된 클래스를 삽입 합니다.특성을 클래스에 적용 되는 경우 기본 클래스 모듈을 올바른 형식이 추가 됩니다.올바른 종류의 값에 의해 결정 되는 type 매개 변수:

  • type= dll

    CAtlDllModuleT 기본 클래스 및 표준 DLL 진입점으로 사용 되는 COM 서버에 필요한 포인트.이러한 진입점입니다 DllMain, 메시지가, DllUnRegisterServer, , 및 다음에.

  • type= exe

    CAtlExeModuleT 기본 클래스 및 표준 실행 가능한 진입점으로 사용 됩니다 WinMain.

  • type= 서비스

    CAtlServiceModuleT 기본 클래스 및 표준 실행 가능한 진입점으로 사용 됩니다 WinMain.

  • type= 지정 되지 않았습니다.

    모듈 특성에 관련 된 ATL 코드를 삽입을 하지 않습니다.

예제

다음 코드에서 생성 된.idl 파일 라이브러리 블록을 만드는 방법을 보여 줍니다.

// cpp_attr_ref_module1.cpp
// compile with: /LD
[module(name="MyLibrary", version="1.2", helpfile="MyHelpFile")];

다음 코드는 사용자 지정 구현을 사용으로 인해 삽입 된 코드에 표시 되는 함수를 제공할 수 보여줍니다 모듈.참조 하십시오 /Fx 에서 삽입 된 코드를 보는 방법은.으로 삽입 된 함수 중 하나를 재정의 하는 모듈 특성, 클래스 함수 구현을 포함 하 고 확인 하는 모듈 특성은 해당 클래스에 적용 합니다.

// cpp_attr_ref_module2.cpp
// compile with: /LD /link /OPT:NOREF
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <atlplus.h>

// no semicolon after attribute block
[module(dll, name="MyLibrary", version="1.2", helpfile="MyHelpFile")] 
// module attribute now applies to this class
class CMyClass {
public:
BOOL WINAPI DllMain(DWORD dwReason, LPVOID lpReserved) {
   // add your own code here
   return __super::DllMain(dwReason, lpReserved);
   }
};

요구 사항

컨텍스트 특성

적용 대상

원하는 위치에

반복 가능

아니요

필수 특성

없음

잘못 된 특성

없음

자세한 내용은 컨텍스트 특성.

참고 항목

참조

usesgetlasterror

library

helpcontext

helpstring

도움말 파일

버전 (C++)

기타 리소스

IDL 특성

클래스 특성

독립 실행형 특성

Typedef, 열거형, 공용 구조체와 구조체의 특성

Attributes Samples