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: dll/win32/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
);
44 extern SID_IDENTIFIER_AUTHORITY LocalSystemAuthority
;
45 extern SID_IDENTIFIER_AUTHORITY WorldAuthority
;
47 typedef struct _DYN_FUNCS
55 HRESULT (WINAPI
*CoInitialize
)(LPVOID pvReserved
);
56 HRESULT (WINAPI
*CoCreateInstance
)(REFCLSID rclsid
, LPUNKNOWN pUnkOuter
, DWORD dwClsContext
, REFIID riid
, LPVOID
* ppv
);
57 HRESULT (WINAPI
*CoUninitialize
)(VOID
);
60 } DYN_FUNCS
, *PDYN_FUNCS
;
62 typedef struct _DYN_MODULE
64 LPWSTR Library
; /* dll file name */
65 LPSTR Functions
[]; /* function names */
66 } DYN_MODULE
, *PDYN_MODULE
;
68 extern DYN_MODULE DynOle32
;
71 LoadDynamicImports(PDYN_MODULE Module
,
75 UnloadDynamicImports(PDYN_FUNCS DynFuncs
);
78 AppendBackslash(LPWSTR String
);
81 CreateDefaultSecurityDescriptor(VOID
);
85 AppendSystemPostfix(LPWSTR lpName
,
90 CreateUserHive(LPCWSTR lpKeyName
,
91 LPCWSTR lpProfilePath
);
95 UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath
,
100 GetUserSidStringFromToken(HANDLE hToken
,
101 PUNICODE_STRING SidString
);
104 extern HINSTANCE hInstance
;
109 InitializeGPNotifications(VOID
);
112 UninitializeGPNotifications(VOID
);
114 #endif /* _INTERNAL_H */