AfxTermExtensionModule

void AFXAPI AfxTermExtensionModule ( AFX_EXTENSION_MODULEamp; 상태, BOOL 공 = FALSE );(&A)

매개 변수

상태

확장 DLL 모듈의 상태를 포함 하는 AFX_EXTENSION_MODULE 구조에 대 한 참조。

공nbsp;??만약 사실, 정리 모든 확장 DLL 모듈. 그렇지 않으면, 정리 현재 DLL 모듈(&N)。

주의

MFC 수 있도록 정리 확장 DLL DLL (어떤 프로세스가 종료 또는 DLL이 로드 AfxFreeLibrary 호출의 결과로 발생)에서 각 프로세스 분리 때이 함수를 호출 합니다. AfxTermExtensionModule 모듈에 연결 된 모든 로컬 저장소를 삭제 하 고 메시지 맵 캐시에서 모든 항목을 제거 합니다. 예를 들어:

정적 AFX_EXTENSION_MODULE extensionDLL;
extern "C" int APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
 nbsp; 경우 (dwReason DLL_PROCESS_ATTACH = =)
 ? {
 ???? / / 확장 DLL 초기화 if (!AfxInitExtensionModule (extensionDLL, hInstance))
 ??????? 0; 반환
 ???? / / TODO: 여기에 다른 초기화 작업을 수행
 ? }
 ? else if (dwReason DLL_PROCESS_DETACH = =)
 ? {
 ???? / / 확장 DLL 당 프로세스 종료
 ???? AfxTermExtensionModule(extensionDLL);
 ??? / / TODO: 여기에 다른 정리 작업을 수행
 ? }
 ? 반환 1;?? / / 확인
}(&N)

응용 프로그램 로드 하 고 동적으로 확장 Dll 해제 하는 경우에 AfxTermExtensionModule을 호출 해야 합니다. 이후 대부분의 확장 Dll을 동적으로 로드 되지 않습니다 (일반적으로, 그들은 그들의 가져오기 라이브러리를 통해 연결 된), AfxTermExtensionModule 을 호출 일반적으로 필요 하지 않습니다。

MFC 확장 Dll의 DllMain에서 AfxInitExtensionModule 을 호출 해야 합니다. 경우 DLL CRuntimeClass 개체를 내보내는 것 이나 자체 사용자 지정 리소스, 당신은 또한 DllMain 에서 CDynLinkLibrary 개체를 만들 필요가。

참고 항목nbsp;AfxInitExtensionModule(&N)

Index