3 * Copyright (C) 2004 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * COPYRIGHT: See COPYING in the top level directory
22 * PROJECT: ReactOS system libraries
23 * FILE: lib/userenv/internal.h
24 * PURPOSE: internal stuff
25 * PROGRAMMER: Eric Kohl
33 DebugPrint (char* fmt
,...);
35 #define DPRINT1 DebugPrint("(%s:%d) ",__FILE__,__LINE__), DebugPrint
36 #define CHECKPOINT1 do { DebugPrint("%s:%d\n",__FILE__,__LINE__); } while(0);
39 #define DPRINT(args...)
47 CopyDirectory (LPCWSTR lpDestinationPath
,
48 LPCWSTR lpSourcePath
);
51 CreateDirectoryPath (LPCWSTR lpPathName
,
52 LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
55 RemoveDirectoryPath (LPCWSTR lpPathName
);
58 typedef struct _DYN_FUNCS
66 HRESULT (STDCALL
*CoInitialize
)(LPVOID pvReserved
);
67 HRESULT (STDCALL
*CoCreateInstance
)(REFCLSID rclsid
, LPUNKNOWN pUnkOuter
, DWORD dwClsContext
, REFIID riid
, LPVOID
* ppv
);
68 HRESULT (STDCALL
*CoUninitialize
)(VOID
);
71 } DYN_FUNCS
, *PDYN_FUNCS
;
73 typedef struct _DYN_MODULE
75 LPWSTR Library
; /* dll file name */
76 LPSTR Functions
[]; /* function names */
77 } DYN_MODULE
, *PDYN_MODULE
;
79 extern DYN_MODULE DynOle32
;
82 LoadDynamicImports(PDYN_MODULE Module
, PDYN_FUNCS DynFuncs
);
85 UnloadDynamicImports(PDYN_FUNCS DynFuncs
);
88 AppendBackslash (LPWSTR String
);
91 GetUserSidFromToken (HANDLE hToken
,
92 PUNICODE_STRING SidString
);
96 AppendSystemPostfix (LPWSTR lpName
,
101 CreateUserHive (LPCWSTR lpKeyName
,
102 LPCWSTR lpProfilePath
);
106 UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath
,
110 extern HINSTANCE hInstance
;
112 #endif /* _INTERNAL_H */