This repository was archived by the owner on May 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTdll.h
More file actions
73 lines (67 loc) · 2.1 KB
/
Tdll.h
File metadata and controls
73 lines (67 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
* Copyright (c) 2002 Milan Cutka
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
// ************************************************************************
// *** Assimilated for VirtualDubMod from http://ffdshow.sf.net ***
// *** Tobias Minich, Feb 2003 ***
// ************************************************************************
#ifndef _TDLL_H_
#define _TDLL_H_
// ************************************************************************
// *** Assimilated for VirtualDubMod ***
// *** Tobias Minich, Feb 2003 ***
// BEGIN ******************************************************************
//#include "Tconfig.h"
// END ********************************************************************
class Tdll
{
public:
bool ok;
Tdll(const char *dllName1,const char *pth)
{
hdll=LoadLibrary(dllName1);
if (!hdll)
{
char name[MAX_PATH],ext[MAX_PATH];
_splitpath(dllName1,NULL,NULL,name,ext);
char dllName2[MAX_PATH];
_makepath(dllName2,NULL,NULL,name,ext);
hdll=LoadLibrary(dllName2);
if (!hdll && pth)
{
char pomS[MAX_PATH];
strcpy(pomS,pth);
strcat(pomS,dllName2);
//sprintf(pomS,"%s%s",pth,dllName2);
hdll=LoadLibrary(pomS);
}
}
ok=(hdll!=NULL);
}
~Tdll()
{
if (hdll) FreeLibrary(hdll);
}
HMODULE hdll;
void loadFunction(void **fnc,const char *name)
{
*fnc=NULL;
*fnc=(void*)GetProcAddress(hdll,name);
ok&=(*fnc!=NULL);
}
};
#endif