您的位置:首页 > 大数据 > 人工智能

小驱动程序Mainl

2015-07-31 09:41 253 查看

主线程会自动附着(attaches)DLL,因为程序和这个DLL链接在一起,当程序开始执行,另一个线程被产生,调用DLL中的TheFunction(),然后程序结束。

/*Driver to load the simple DLL,

create a thread,call a function in the DLL,and exit.*/

#define WIN32_LEAN_AND_MEAN

#include<stdio.h>

#include<stdlib.h>

#include<Windows.h>

_declspec(dllimport) BOOL TheFunction();

DWORD WINAPI ThreadFunc(LPVOID);

VOID main(VOID)

{

HANDLE hThrd;

DWORD dwThreadId;

hThrd = CreateThread(NULL, 0, ThreadFunc, NULL, 0, &dwThreadId);

if (hThrd)

printf("\t Thread launched\n");

WaitForSingleObject(hThrd, INFINITE);

CloseHandle(hThrd);

}

/*Just call a function in the DLL and exit*/

DWORD WINAPI ThreadFunc(LPVOID n)

{

printf("\t Thread running");

TheFunction();

return 0;

}





第二个重点是,DllMain()系在新线程的context中被调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: