setupapi: Implement SetupDiCreateDevRegKeyW.
[wine] / dlls / mpr / mpr_main.c
1 /*
2  * MPR undocumented functions
3  *
4  * Copyright 1999 Ulrich Weigand
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "objbase.h"
26 #include "winnetwk.h"
27 #include "wine/debug.h"
28 #include "wnetpriv.h"
29
30 WINE_DEFAULT_DEBUG_CHANNEL(mpr);
31
32  /*
33   * FIXME: The following routines should use a private heap ...
34   */
35
36 /*****************************************************************
37  *  @  [MPR.22]
38  */
39 LPVOID WINAPI MPR_Alloc( DWORD dwSize )
40 {
41     return HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize );
42 }
43
44 /*****************************************************************
45  *  @  [MPR.23]
46  */
47 LPVOID WINAPI MPR_ReAlloc( LPVOID lpSrc, DWORD dwSize )
48 {
49     if ( lpSrc )
50         return HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, lpSrc, dwSize );
51     else
52         return HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize );
53 }
54
55 /*****************************************************************
56  *  @  [MPR.24]
57  */
58 BOOL WINAPI MPR_Free( LPVOID lpMem )
59 {
60     if ( lpMem )
61         return HeapFree( GetProcessHeap(), 0, lpMem );
62     else
63         return FALSE;
64 }
65
66 /*****************************************************************
67  *  @  [MPR.25]
68  */
69 BOOL WINAPI _MPR_25( LPBYTE lpMem, INT len )
70 {
71     FIXME( "(%p, %d): stub\n", lpMem, len );
72
73     return FALSE;
74 }
75
76 /*****************************************************************
77  *  DllCanUnloadNow  [MPR.@]
78  */
79 HRESULT WINAPI DllCanUnloadNow(void)
80 {
81     FIXME("Stub\n");
82     return S_OK;
83 }
84
85 /*****************************************************************
86  *  DllMain  [MPR.init]
87  */
88 BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
89 {
90     switch (fdwReason) {
91         case DLL_PROCESS_ATTACH:
92             DisableThreadLibraryCalls( hinstDLL );
93             wnetInit(hinstDLL);
94             break;
95
96         case DLL_PROCESS_DETACH:
97             wnetFree();
98             break;
99     }
100     return TRUE;
101 }