标题:关于BOOL WINAPI DllMain函数
只看楼主
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
 问题点数:0 回复次数:2 
关于BOOL WINAPI DllMain函数
谁能告诉我这个函数作用
是不是职能初始化全局的数据,还有我的Dll里封装了一个类
这时,我的WINAPI DllMain函数该怎么写
要不要在类的.h文件里申明,然后在.cpp 文件里实现???
搜索更多相关主题的帖子: BOOL DllMain WINAPI 函数 
2008-04-02 19:52
yangdh08
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-3-10
得分:0 
我是这样写的
//.h文件
#if !defined(AFX_MANAGESTU_H__7390B43D_3BBE_45C3_BBD2_0A761B8AEBFD__INCLUDED_)
#define AFX_MANAGESTU_H__7390B43D_3BBE_45C3_BBD2_0A761B8AEBFD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef MYAPI
#define MYAPI _declspec(dllexport)
#endif
typedef struct MStu
{
    CString no;
    char    subject[1];
}*Stu;
BOOL WINAPI DllMain(HANDLE, DWORD, LPVOID);
class MYAPI CManageStu  
{
public:
    CManageStu();
    virtual ~CManageStu();
    void Add(Stu student);
    void Delete(Stu student);
    void Update(Stu student);
private:
    CPtrList plist;
};


#endif // !defined(AFX_MANAGESTU_H__7390B43D_3BBE_45C3_BBD2_0A761B8AEBFD__INCLUDED_)

//.cpp文件
#include "stdafx.h"
#include "CManageStu.h"
#include "ManageStu.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CManageStu::CManageStu()
{
    
    plist.GetHead() = NULL;

}

CManageStu::~CManageStu()
{
    
}

void CManageStu::Add(Stu student)
{
    plist.AddTail((LPCSTR*)student);
}
void CManageStu::Delete(Stu student)
{
    POSITION pos = NULL;
    pos = (POSITION)plist.GetHead();
    while(pos != NULL)
    {
        if(((Stu)pos)->no == student->no)
        {
            plist.RemoveAt((POSITION)pos);
            free(student);
        }
        plist.GetNext(pos);
    }
    
}
void CManageStu::Update(Stu student)
{
    POSITION pos = NULL;
    pos = (POSITION)plist.GetHead();
    while(pos != NULL)
    {
        if(((Stu)pos)->no == student->no)
        {
            ((Stu)pos)->no = student->no;
            ((Stu)pos)->subject[0] = student->subject[0];
            ((Stu)pos)->subject[1] = student->subject[1];
        }
        plist.GetNext(pos);
    }
}
BOOL WINAPI DllMain(HANDLE, DWORD, LPVOID)
{
    switch()
    {
    case DLL_PROCESS_ATTACH:
        //在这里我该怎么初始化申明的结构体该怎么new???
        break;
    case DLL_PROCESS_DETACH:

        break;
    default:
    }
}
2008-04-02 20:04
tb121058
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-07-13 10:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-206821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.214202 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved