1 /* 2 * ReactOS kernel 3 * Copyright (C) 2004 ReactOS Team 4 * 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. 9 * 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. 14 * 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. 18 */ 19 /* 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 25 */ 26 27 #ifndef _INTERNAL_H 28 #define _INTERNAL_H 29 30 /* directory.c */ 31 BOOL 32 CopyDirectory(LPCWSTR lpDestinationPath, 33 LPCWSTR lpSourcePath); 34 35 BOOL 36 CreateDirectoryPath(LPCWSTR lpPathName, 37 LPSECURITY_ATTRIBUTES lpSecurityAttributes); 38 39 BOOL 40 RemoveDirectoryPath(LPCWSTR lpPathName); 41 42 /* misc.c */ 43 44 extern SID_IDENTIFIER_AUTHORITY LocalSystemAuthority; 45 extern SID_IDENTIFIER_AUTHORITY WorldAuthority; 46 47 typedef struct _DYN_FUNCS 48 { 49 HMODULE hModule; 50 union 51 { 52 PVOID foo; 53 struct 54 { 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); 58 }; 59 } fn; 60 } DYN_FUNCS, *PDYN_FUNCS; 61 62 typedef struct _DYN_MODULE 63 { 64 LPWSTR Library; /* dll file name */ 65 LPSTR Functions[]; /* function names */ 66 } DYN_MODULE, *PDYN_MODULE; 67 68 extern DYN_MODULE DynOle32; 69 70 BOOL 71 LoadDynamicImports(PDYN_MODULE Module, 72 PDYN_FUNCS DynFuncs); 73 74 VOID 75 UnloadDynamicImports(PDYN_FUNCS DynFuncs); 76 77 LPWSTR 78 AppendBackslash(LPWSTR String); 79 80 PSECURITY_DESCRIPTOR 81 CreateDefaultSecurityDescriptor(VOID); 82 83 /* profile.c */ 84 BOOL 85 AppendSystemPostfix(LPWSTR lpName, 86 DWORD dwMaxLength); 87 88 /* registry.c */ 89 BOOL 90 CreateUserHive(LPCWSTR lpKeyName, 91 LPCWSTR lpProfilePath); 92 93 /* setup.c */ 94 BOOL 95 UpdateUsersShellFolderSettings(LPCWSTR lpUserProfilePath, 96 HKEY hUserKey); 97 98 /* sid.c */ 99 BOOL 100 GetUserSidStringFromToken(HANDLE hToken, 101 PUNICODE_STRING SidString); 102 103 /* userenv.c */ 104 extern HINSTANCE hInstance; 105 106 /* gpolicy.c */ 107 108 VOID 109 InitializeGPNotifications(VOID); 110 111 VOID 112 UninitializeGPNotifications(VOID); 113 114 #endif /* _INTERNAL_H */ 115