모듈 (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);
}
};
요구 사항
컨텍스트 특성
적용 대상 |
원하는 위치에 |
반복 가능 |
아니요 |
필수 특성 |
없음 |
잘못 된 특성 |
없음 |
자세한 내용은 컨텍스트 특성.