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 along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS system libraries
22 * FILE: lib/userenv/internal.h
23 * PURPOSE: internal stuff
24 * PROGRAMMER: Eric Kohl
32 CopyDirectory (LPCWSTR lpDestinationPath
,
33 LPCWSTR lpSourcePath
);
36 CreateDirectoryPath (LPCWSTR lpPathName
,
37 LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
40 RemoveDirectoryPath (LPCWSTR lpPathName
);
43 typedef struct _DYN_FUNCS
51 HRESULT (WINAPI
*CoInitialize
)(LPVOID pvReserved
);
52 HRESULT (WINAPI
*CoCreateInstance
)(REFCLSID rclsid
, LPUNKNOWN pUnkOuter
, DWORD dwClsContext
, REFIID riid
, LPVOID
* ppv
);
53 HRESULT (WINAPI
*CoUninitialize
)(VOID
);
56 } DYN_FUNCS
, *PDYN_FUNCS
;
58 typedef struct _DYN_MODULE
60 LPWSTR Library
; /* dll file name */
61 LPSTR Functions
[]; /* function names */
62 } DYN_MODULE
, *PDYN_MODULE
;
64 extern DYN_MODULE DynOle32
;
67 LoadDynamicImports(PDYN_MODULE Module
, PDYN_FUNCS DynFuncs
);
70 UnloadDynamicImports(PDYN_FUNCS DynFuncs
);
73 AppendBackslash (LPWSTR String
);
76 GetUserSidFromToken (HANDLE hToken
,
77 PUNICODE_STRING SidString
);
80 CreateDefaultSecurityDescriptor(VOID
);
84 AppendSystemPostfix (LPWSTR lpName
,
89 CreateUserHive (LPCWSTR lpKeyName
,
90 LPCWSTR lpProfilePath
);
94 UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath
,
98 extern HINSTANCE hInstance
;
103 InitializeGPNotifications(VOID
);
106 UninitializeGPNotifications(VOID
);
108 #endif /* _INTERNAL_H */