Partially implemented PEB
[reactos.git] / reactos / lib / kernel32 / misc / dllmain.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/kernel32/misc/dllmain.c
5 * PURPOSE: Initialization
6 * PROGRAMMER: Ariadne ( ariadne@xs4all.nl)
7 * UPDATE HISTORY:
8 * Created 01/11/98
9 */
10
11 #include <windows.h>
12 #include <ddk/ntddk.h>
13 #include <wchar.h>
14 #include <kernel32/proc.h>
15 #include <internal/teb.h>
16
17 #include <kernel32/kernel32.h>
18
19 WINBOOL STDCALL DllMain (HANDLE hInst,
20 ULONG ul_reason_for_call,
21 LPVOID lpReserved);
22
23
24
25 BOOL WINAPI DllMainCRTStartup(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
26 {
27 return(DllMain(hDll,dwReason,lpReserved));
28 }
29
30 VOID WINAPI __HeapInit(LPVOID base, ULONG minsize, ULONG maxsize);
31
32 WINBOOL STDCALL DllMain(HANDLE hInst,
33 ULONG ul_reason_for_call,
34 LPVOID lpReserved)
35 {
36 DPRINT("DllMain");
37 switch (ul_reason_for_call)
38 {
39 case DLL_PROCESS_ATTACH:
40 {
41 DPRINT("DLL_PROCESS_ATTACH\n");
42 }
43 case DLL_THREAD_ATTACH:
44 {
45 // Teb = HeapAlloc(GetProcessHeap(),0,sizeof(NT_TEB));
46 // Teb->Peb = GetCurrentPeb();
47 // Teb->HardErrorMode = SEM_NOGPFAULTERRORBOX;
48 // Teb->dwTlsIndex=0;
49 break;
50 }
51 case DLL_PROCESS_DETACH:
52 {
53 // HeapFree(GetProcessHeap(),0,Teb);
54 HeapDestroy(NtCurrentPeb()->ProcessHeap);
55 break;
56 }
57 case DLL_THREAD_DETACH:
58 {
59 // HeapFree(GetProcessHeap(),0,Teb);
60 break;
61 }
62 default:
63 break;
64
65 }
66 return TRUE;
67 }
68
69
70