- Location:
- /trunk
- Files:
-
- 1 added
- 17 edited
- CVSROOT/cvswrappers (modified) (1 diff)
- CVSROOT/writers (modified) (1 diff)
- include/misc.h (modified) (2 diffs)
- include/pdwin32.emx.dbg (modified) (1 diff)
- include/pdwin32.vac3.dbg (modified) (1 diff)
- include/win/heap.h (modified) (2 diffs)
- include/win/winnls.h (modified) (13 diffs)
- lib/makefile (added)
- makefile (modified) (2 diffs)
- src/NTDLL/makefile (modified) (3 diffs)
- src/NTDLL/ntdll.c (modified) (5 diffs)
- src/NTDLL/ntdll.def (modified) (1 diff)
- src/NTDLL/ntdll.h (modified) (2 diffs)
- src/kernel32/cio.h (modified) (2 diffs)
- src/kernel32/conprop.cpp (modified) (1 diff)
- src/kernel32/resource.cpp (modified) (2 diffs)
- src/shell32/shell32.cpp (modified) (3 diffs)
- src/shell32/shell32.def (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
/trunk/CVSROOT/cvswrappers
r20 r30 11 11 # Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers) 12 12 # 13 # wildcard (削除) (削除ここまで)[option value][option value]...13 # wildcard(追記) (追記ここまで)[option value][option value]... 14 14 # 15 15 # where option is one of 16 # -f (削除) from cvs filter (削除ここまで)value: path to filter17 # -t (削除) to cvs filter (削除ここまで)value: path to filter18 # -m (削除) update methodology (削除ここまで)value: MERGE or COPY19 # -k (削除) expansion mode (削除ここまで)value: b, o, kkv, &c16 # -f(追記) from cvs filter (追記ここまで)value: path to filter 17 # -t(追記) to cvs filter (追記ここまで)value: path to filter 18 # -m(追記) update methodology (追記ここまで)value: MERGE or COPY 19 # -k(追記) expansion mode (追記ここまで)value: b, o, kkv, &c 20 20 # 21 21 # and value is a single-quote delimited value. 22 22 # For example: 23 23 #*.gif -k 'b' 24 (追記) *.exe -k 'b' (追記ここまで) 25 (追記) *.sys -k 'b' (追記ここまで) 26 (追記) *.obj -k 'b' (追記ここまで) 27 (追記) *.zip -k 'b' (追記ここまで) 28 (追記) *.etc -k 'b' (追記ここまで) -
/trunk/CVSROOT/writers
r20 r30 3 3 cla 4 4 phaller 5 (追記) cbratschi (追記ここまで) -
/trunk/include/misc.h
r20 r30 1 /* $Id: misc.h,v 1. (削除) 5 1999年05月31日 22:08:08 (削除ここまで)phaller Exp $ */1 /* $Id: misc.h,v 1.(追記) 6 1999年06月01日 15:46:21 (追記ここまで) phaller Exp $ */ 2 2 3 3 /* … … 14 14 #endif 15 15 16 (追記) (追記ここまで) 17 (追記) /* enable support for the _interrupt() statement */ (追記ここまで) 18 (追記) #if (defined(__IBMCPP__) || defined(__IBMC__)) (追記ここまで) 19 (追記) # include <builtin.h> (追記ここまで) 20 (追記) #endif (追記ここまで) 16 21 17 22 #ifdef DEBUG -
/trunk/include/pdwin32.emx.dbg
r20 r30 23 23 # Tool Flags 24 24 # 25 CFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__ (削除) (削除ここまで)26 CXXFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__ (削除) (削除ここまで)25 CFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで) 26 CXXFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで) 27 27 ASFLAGS = -Zomf 28 28 LDFLAGS = -Zmt -Zomf -Zmap -
/trunk/include/pdwin32.vac3.dbg
r20 r30 19 19 # Tool Flags 20 20 # 21 CFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__ (削除) (削除ここまで)22 CXXFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__ (削除) (削除ここまで)21 CFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで) 22 CXXFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで) 23 23 ASFLAGS = -Sc -Sv:M510 24 24 LDFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ /B"/noe" -
/trunk/include/win/heap.h
r20 r30 1 /* $Id: heap.h,v 1. (削除) 1 1999年05月24日 20:19:12 ktk (削除ここまで)Exp $ */1 /* $Id: heap.h,v 1.(追記) 2 1999年06月01日 19:48:18 phaller (追記ここまで) Exp $ */ 2 2 3 3 /* … … 34 34 #define SEGPTR_STRDUP_WtoA(str) \ 35 35 (HIWORD(str) ? HEAP_strdupWtoA( SegptrHeap, 0, (str) ) : (LPSTR)(str)) 36 /* define an inline function, a macro won't do */ 37 static __inline__ SEGPTR WINE_UNUSED SEGPTR_Get(LPCVOID ptr) { 38 return (HIWORD(ptr) ? HEAP_GetSegptr( SegptrHeap, 0, ptr ) : (SEGPTR)ptr); 36 37 /* define an inline function, a macro won't do */ 38 static SEGPTR SEGPTR_Get(LPCVOID ptr) 39 { 40 return (HIWORD(ptr) ? HEAP_GetSegptr( SegptrHeap, 0, ptr ) : (SEGPTR)ptr); 39 41 } 42 (追記) (追記ここまで) 40 43 #define SEGPTR_GET(ptr) SEGPTR_Get(ptr) 41 44 #define SEGPTR_FREE(ptr) \ -
/trunk/include/win/winnls.h
r20 r30 1 /* $Id: winnls.h,v 1. (削除) 1 1999年05月24日 20:19:22 ktk (削除ここまで)Exp $ */1 /* $Id: winnls.h,v 1.(追記) 3 1999年06月01日 19:48:18 phaller (追記ここまで) Exp $ */ 2 2 3 3 #ifndef __WINE_WINNLS_H … … 7 7 8 8 /* Sun Bug Workaround */ 9 #ifdef __WINE__ (削除) (削除ここまで)9 #ifdef __WINE__(追記) (追記ここまで) 10 10 # undef wsprintf 11 11 #endif … … 14 14 #include "windef.h" 15 15 16 #define MB_PRECOMPOSED 0x00000001 (削除) (削除ここまで)16 #define MB_PRECOMPOSED 0x00000001(追記) (追記ここまで) 17 17 #define MB_COMPOSITE 0x00000002 18 18 #define MB_USEGLYPHCHARS 0x00000004 19 19 #define MB_ERR_INVALID_CHARS 0x00000008 20 20 21 #define LCID_INSTALLED 0x00000001 (削除) (削除ここまで)21 #define LCID_INSTALLED 0x00000001(追記) (追記ここまで) 22 22 23 23 /* flags to GetLocaleInfo */ 24 #define (削除) LOCALE_NOUSEROVERRIDE (削除ここまで)0x8000000025 #define (削除) LOCALE_USE_CP_ACP (削除ここまで)0x4000000024 #define(追記) LOCALE_NOUSEROVERRIDE (追記ここまで) 0x80000000 25 #define(追記) LOCALE_USE_CP_ACP (追記ここまで) 0x40000000 26 26 27 27 #define LOCALE_LOCALEINFOFLAGSMASK 0xC0000000 … … 30 30 * locale2id map in misc/ole2nls.c 31 31 */ 32 #define LOCALE_ILANGUAGE 0x00000001 (削除) (削除ここまで)33 #define LOCALE_SLANGUAGE 0x00000002 (削除) (削除ここまで)34 #define LOCALE_SENGLANGUAGE 0x00001001 (削除) (削除ここまで)35 #define LOCALE_SABBREVLANGNAME 0x00000003 (削除) (削除ここまで)36 #define LOCALE_SNATIVELANGNAME 0x00000004 (削除) (削除ここまで)37 #define LOCALE_ICOUNTRY 0x00000005 (削除) (削除ここまで)38 #define LOCALE_SCOUNTRY 0x00000006 (削除) (削除ここまで)39 #define LOCALE_SENGCOUNTRY 0x00001002 (削除) (削除ここまで)40 #define LOCALE_SABBREVCTRYNAME 0x00000007 (削除) (削除ここまで)41 #define LOCALE_SNATIVECTRYNAME 0x00000008 (削除) (削除ここまで)42 #define LOCALE_IDEFAULTLANGUAGE 0x00000009 (削除) (削除ここまで)43 #define LOCALE_IDEFAULTCOUNTRY 0x0000000A (削除) (削除ここまで)44 #define LOCALE_IDEFAULTCODEPAGE 0x0000000B (削除) (削除ここまで)45 #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 (削除) (削除ここまで)32 #define LOCALE_ILANGUAGE 0x00000001(追記) (追記ここまで) 33 #define LOCALE_SLANGUAGE 0x00000002(追記) (追記ここまで) 34 #define LOCALE_SENGLANGUAGE 0x00001001(追記) (追記ここまで) 35 #define LOCALE_SABBREVLANGNAME 0x00000003(追記) (追記ここまで) 36 #define LOCALE_SNATIVELANGNAME 0x00000004(追記) (追記ここまで) 37 #define LOCALE_ICOUNTRY 0x00000005(追記) (追記ここまで) 38 #define LOCALE_SCOUNTRY 0x00000006(追記) (追記ここまで) 39 #define LOCALE_SENGCOUNTRY 0x00001002(追記) (追記ここまで) 40 #define LOCALE_SABBREVCTRYNAME 0x00000007(追記) (追記ここまで) 41 #define LOCALE_SNATIVECTRYNAME 0x00000008(追記) (追記ここまで) 42 #define LOCALE_IDEFAULTLANGUAGE 0x00000009(追記) (追記ここまで) 43 #define LOCALE_IDEFAULTCOUNTRY 0x0000000A(追記) (追記ここまで) 44 #define LOCALE_IDEFAULTCODEPAGE 0x0000000B(追記) (追記ここまで) 45 #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004(追記) (追記ここまで) 46 46 #define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 47 #define LOCALE_SLIST 0x0000000C (削除) (削除ここまで)48 #define LOCALE_IMEASURE 0x0000000D (削除) (削除ここまで)49 #define LOCALE_SDECIMAL 0x0000000E (削除) (削除ここまで)50 #define LOCALE_STHOUSAND 0x0000000F (削除) (削除ここまで)51 #define LOCALE_SGROUPING 0x00000010 (削除) (削除ここまで)52 #define LOCALE_IDIGITS 0x00000011 (削除) (削除ここまで)53 #define LOCALE_ILZERO 0x00000012 (削除) (削除ここまで)54 #define LOCALE_INEGNUMBER 0x00001010 (削除) (削除ここまで)55 #define LOCALE_SNATIVEDIGITS 0x00000013 (削除) (削除ここまで)56 #define LOCALE_SCURRENCY 0x00000014 (削除) (削除ここまで)57 #define LOCALE_SINTLSYMBOL 0x00000015 (削除) (削除ここまで)58 #define LOCALE_SMONDECIMALSEP 0x00000016 (削除) (削除ここまで)59 #define LOCALE_SMONTHOUSANDSEP 0x00000017 (削除) (削除ここまで)60 #define LOCALE_SMONGROUPING 0x00000018 (削除) (削除ここまで)61 #define LOCALE_ICURRDIGITS 0x00000019 (削除) (削除ここまで)62 #define LOCALE_IINTLCURRDIGITS 0x0000001A (削除) (削除ここまで)63 #define LOCALE_ICURRENCY 0x0000001B (削除) (削除ここまで)64 #define LOCALE_INEGCURR 0x0000001C (削除) (削除ここまで)65 #define LOCALE_SDATE 0x0000001D (削除) (削除ここまで)66 #define LOCALE_STIME 0x0000001E (削除) (削除ここまで)67 #define LOCALE_SSHORTDATE 0x0000001F (削除) (削除ここまで)68 #define LOCALE_SLONGDATE 0x00000020 (削除) (削除ここまで)69 #define LOCALE_STIMEFORMAT 0x00001003 (削除) (削除ここまで)70 #define LOCALE_IDATE 0x00000021 (削除) (削除ここまで)71 #define LOCALE_ILDATE 0x00000022 (削除) (削除ここまで)72 #define LOCALE_ITIME 0x00000023 (削除) (削除ここまで)73 #define LOCALE_ITIMEMARKPOSN 0x00001005 (削除) (削除ここまで)74 #define LOCALE_ICENTURY 0x00000024 (削除) (削除ここまで)75 #define LOCALE_ITLZERO 0x00000025 (削除) (削除ここまで)76 #define LOCALE_IDAYLZERO 0x00000026 (削除) (削除ここまで)77 #define LOCALE_IMONLZERO 0x00000027 (削除) (削除ここまで)78 #define LOCALE_S1159 0x00000028 (削除) (削除ここまで)79 #define LOCALE_S2359 0x00000029 (削除) (削除ここまで)80 #define LOCALE_ICALENDARTYPE 0x00001009 (削除) (削除ここまで)81 #define LOCALE_IOPTIONALCALENDAR 0x0000100B (削除) (削除ここまで)82 #define LOCALE_IFIRSTDAYOFWEEK 0x0000100C (削除) (削除ここまで)83 #define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D (削除) (削除ここまで)84 #define LOCALE_SDAYNAME1 0x0000002A (削除) (削除ここまで)85 #define LOCALE_SDAYNAME2 0x0000002B (削除) (削除ここまで)86 #define LOCALE_SDAYNAME3 0x0000002C (削除) (削除ここまで)87 #define LOCALE_SDAYNAME4 0x0000002D (削除) (削除ここまで)88 #define LOCALE_SDAYNAME5 0x0000002E (削除) (削除ここまで)89 #define LOCALE_SDAYNAME6 0x0000002F (削除) (削除ここまで)90 #define LOCALE_SDAYNAME7 0x00000030 (削除) (削除ここまで)91 #define LOCALE_SABBREVDAYNAME1 0x00000031 (削除) (削除ここまで)92 #define LOCALE_SABBREVDAYNAME2 0x00000032 (削除) (削除ここまで)93 #define LOCALE_SABBREVDAYNAME3 0x00000033 (削除) (削除ここまで)94 #define LOCALE_SABBREVDAYNAME4 0x00000034 (削除) (削除ここまで)95 #define LOCALE_SABBREVDAYNAME5 0x00000035 (削除) (削除ここまで)96 #define LOCALE_SABBREVDAYNAME6 0x00000036 (削除) (削除ここまで)97 #define LOCALE_SABBREVDAYNAME7 0x00000037 (削除) (削除ここまで)98 #define LOCALE_SMONTHNAME1 0x00000038 (削除) (削除ここまで)99 #define LOCALE_SMONTHNAME2 0x00000039 (削除) (削除ここまで)100 #define LOCALE_SMONTHNAME3 0x0000003A (削除) (削除ここまで)101 #define LOCALE_SMONTHNAME4 0x0000003B (削除) (削除ここまで)102 #define LOCALE_SMONTHNAME5 0x0000003C (削除) (削除ここまで)103 #define LOCALE_SMONTHNAME6 0x0000003D (削除) (削除ここまで)104 #define LOCALE_SMONTHNAME7 0x0000003E (削除) (削除ここまで)105 #define LOCALE_SMONTHNAME8 0x0000003F (削除) (削除ここまで)106 #define LOCALE_SMONTHNAME9 0x00000040 (削除) (削除ここまで)107 #define LOCALE_SMONTHNAME10 0x00000041 (削除) (削除ここまで)108 #define LOCALE_SMONTHNAME11 0x00000042 (削除) (削除ここまで)109 #define LOCALE_SMONTHNAME12 0x00000043 (削除) (削除ここまで)110 #define LOCALE_SMONTHNAME13 0x0000100E (削除) (削除ここまで)111 #define LOCALE_SABBREVMONTHNAME1 0x00000044 (削除) (削除ここまで)112 #define LOCALE_SABBREVMONTHNAME2 0x00000045 (削除) (削除ここまで)113 #define LOCALE_SABBREVMONTHNAME3 0x00000046 (削除) (削除ここまで)114 #define LOCALE_SABBREVMONTHNAME4 0x00000047 (削除) (削除ここまで)115 #define LOCALE_SABBREVMONTHNAME5 0x00000048 (削除) (削除ここまで)116 #define LOCALE_SABBREVMONTHNAME6 0x00000049 (削除) (削除ここまで)117 #define LOCALE_SABBREVMONTHNAME7 0x0000004A (削除) (削除ここまで)118 #define LOCALE_SABBREVMONTHNAME8 0x0000004B (削除) (削除ここまで)119 #define LOCALE_SABBREVMONTHNAME9 0x0000004C (削除) (削除ここまで)120 #define LOCALE_SABBREVMONTHNAME10 0x0000004D (削除) (削除ここまで)121 #define LOCALE_SABBREVMONTHNAME11 0x0000004E (削除) (削除ここまで)122 #define LOCALE_SABBREVMONTHNAME12 0x0000004F (削除) (削除ここまで)123 #define LOCALE_SABBREVMONTHNAME13 0x0000100F (削除) (削除ここまで)124 #define LOCALE_SPOSITIVESIGN 0x00000050 (削除) (削除ここまで)125 #define LOCALE_SNEGATIVESIGN 0x00000051 (削除) (削除ここまで)126 #define LOCALE_IPOSSIGNPOSN 0x00000052 (削除) (削除ここまで)127 #define LOCALE_INEGSIGNPOSN 0x00000053 (削除) (削除ここまで)128 #define LOCALE_IPOSSYMPRECEDES 0x00000054 (削除) (削除ここまで)129 #define LOCALE_IPOSSEPBYSPACE 0x00000055 (削除) (削除ここまで)130 #define LOCALE_INEGSYMPRECEDES 0x00000056 (削除) (削除ここまで)131 #define LOCALE_INEGSEPBYSPACE 0x00000057 (削除) (削除ここまで)132 #define (削除) (削除ここまで)LOCALE_FONTSIGNATURE 0x0000005847 #define LOCALE_SLIST 0x0000000C(追記) (追記ここまで) 48 #define LOCALE_IMEASURE 0x0000000D(追記) (追記ここまで) 49 #define LOCALE_SDECIMAL 0x0000000E(追記) (追記ここまで) 50 #define LOCALE_STHOUSAND 0x0000000F(追記) (追記ここまで) 51 #define LOCALE_SGROUPING 0x00000010(追記) (追記ここまで) 52 #define LOCALE_IDIGITS 0x00000011(追記) (追記ここまで) 53 #define LOCALE_ILZERO 0x00000012(追記) (追記ここまで) 54 #define LOCALE_INEGNUMBER 0x00001010(追記) (追記ここまで) 55 #define LOCALE_SNATIVEDIGITS 0x00000013(追記) (追記ここまで) 56 #define LOCALE_SCURRENCY 0x00000014(追記) (追記ここまで) 57 #define LOCALE_SINTLSYMBOL 0x00000015(追記) (追記ここまで) 58 #define LOCALE_SMONDECIMALSEP 0x00000016(追記) (追記ここまで) 59 #define LOCALE_SMONTHOUSANDSEP 0x00000017(追記) (追記ここまで) 60 #define LOCALE_SMONGROUPING 0x00000018(追記) (追記ここまで) 61 #define LOCALE_ICURRDIGITS 0x00000019(追記) (追記ここまで) 62 #define LOCALE_IINTLCURRDIGITS 0x0000001A(追記) (追記ここまで) 63 #define LOCALE_ICURRENCY 0x0000001B(追記) (追記ここまで) 64 #define LOCALE_INEGCURR 0x0000001C(追記) (追記ここまで) 65 #define LOCALE_SDATE 0x0000001D(追記) (追記ここまで) 66 #define LOCALE_STIME 0x0000001E(追記) (追記ここまで) 67 #define LOCALE_SSHORTDATE 0x0000001F(追記) (追記ここまで) 68 #define LOCALE_SLONGDATE 0x00000020(追記) (追記ここまで) 69 #define LOCALE_STIMEFORMAT 0x00001003(追記) (追記ここまで) 70 #define LOCALE_IDATE 0x00000021(追記) (追記ここまで) 71 #define LOCALE_ILDATE 0x00000022(追記) (追記ここまで) 72 #define LOCALE_ITIME 0x00000023(追記) (追記ここまで) 73 #define LOCALE_ITIMEMARKPOSN 0x00001005(追記) (追記ここまで) 74 #define LOCALE_ICENTURY 0x00000024(追記) (追記ここまで) 75 #define LOCALE_ITLZERO 0x00000025(追記) (追記ここまで) 76 #define LOCALE_IDAYLZERO 0x00000026(追記) (追記ここまで) 77 #define LOCALE_IMONLZERO 0x00000027(追記) (追記ここまで) 78 #define LOCALE_S1159 0x00000028(追記) (追記ここまで) 79 #define LOCALE_S2359 0x00000029(追記) (追記ここまで) 80 #define LOCALE_ICALENDARTYPE 0x00001009(追記) (追記ここまで) 81 #define LOCALE_IOPTIONALCALENDAR 0x0000100B(追記) (追記ここまで) 82 #define LOCALE_IFIRSTDAYOFWEEK 0x0000100C(追記) (追記ここまで) 83 #define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D(追記) (追記ここまで) 84 #define LOCALE_SDAYNAME1 0x0000002A(追記) (追記ここまで) 85 #define LOCALE_SDAYNAME2 0x0000002B(追記) (追記ここまで) 86 #define LOCALE_SDAYNAME3 0x0000002C(追記) (追記ここまで) 87 #define LOCALE_SDAYNAME4 0x0000002D(追記) (追記ここまで) 88 #define LOCALE_SDAYNAME5 0x0000002E(追記) (追記ここまで) 89 #define LOCALE_SDAYNAME6 0x0000002F(追記) (追記ここまで) 90 #define LOCALE_SDAYNAME7 0x00000030(追記) (追記ここまで) 91 #define LOCALE_SABBREVDAYNAME1 0x00000031(追記) (追記ここまで) 92 #define LOCALE_SABBREVDAYNAME2 0x00000032(追記) (追記ここまで) 93 #define LOCALE_SABBREVDAYNAME3 0x00000033(追記) (追記ここまで) 94 #define LOCALE_SABBREVDAYNAME4 0x00000034(追記) (追記ここまで) 95 #define LOCALE_SABBREVDAYNAME5 0x00000035(追記) (追記ここまで) 96 #define LOCALE_SABBREVDAYNAME6 0x00000036(追記) (追記ここまで) 97 #define LOCALE_SABBREVDAYNAME7 0x00000037(追記) (追記ここまで) 98 #define LOCALE_SMONTHNAME1 0x00000038(追記) (追記ここまで) 99 #define LOCALE_SMONTHNAME2 0x00000039(追記) (追記ここまで) 100 #define LOCALE_SMONTHNAME3 0x0000003A(追記) (追記ここまで) 101 #define LOCALE_SMONTHNAME4 0x0000003B(追記) (追記ここまで) 102 #define LOCALE_SMONTHNAME5 0x0000003C(追記) (追記ここまで) 103 #define LOCALE_SMONTHNAME6 0x0000003D(追記) (追記ここまで) 104 #define LOCALE_SMONTHNAME7 0x0000003E(追記) (追記ここまで) 105 #define LOCALE_SMONTHNAME8 0x0000003F(追記) (追記ここまで) 106 #define LOCALE_SMONTHNAME9 0x00000040(追記) (追記ここまで) 107 #define LOCALE_SMONTHNAME10 0x00000041(追記) (追記ここまで) 108 #define LOCALE_SMONTHNAME11 0x00000042(追記) (追記ここまで) 109 #define LOCALE_SMONTHNAME12 0x00000043(追記) (追記ここまで) 110 #define LOCALE_SMONTHNAME13 0x0000100E(追記) (追記ここまで) 111 #define LOCALE_SABBREVMONTHNAME1 0x00000044(追記) (追記ここまで) 112 #define LOCALE_SABBREVMONTHNAME2 0x00000045(追記) (追記ここまで) 113 #define LOCALE_SABBREVMONTHNAME3 0x00000046(追記) (追記ここまで) 114 #define LOCALE_SABBREVMONTHNAME4 0x00000047(追記) (追記ここまで) 115 #define LOCALE_SABBREVMONTHNAME5 0x00000048(追記) (追記ここまで) 116 #define LOCALE_SABBREVMONTHNAME6 0x00000049(追記) (追記ここまで) 117 #define LOCALE_SABBREVMONTHNAME7 0x0000004A(追記) (追記ここまで) 118 #define LOCALE_SABBREVMONTHNAME8 0x0000004B(追記) (追記ここまで) 119 #define LOCALE_SABBREVMONTHNAME9 0x0000004C(追記) (追記ここまで) 120 #define LOCALE_SABBREVMONTHNAME10 0x0000004D(追記) (追記ここまで) 121 #define LOCALE_SABBREVMONTHNAME11 0x0000004E(追記) (追記ここまで) 122 #define LOCALE_SABBREVMONTHNAME12 0x0000004F(追記) (追記ここまで) 123 #define LOCALE_SABBREVMONTHNAME13 0x0000100F(追記) (追記ここまで) 124 #define LOCALE_SPOSITIVESIGN 0x00000050(追記) (追記ここまで) 125 #define LOCALE_SNEGATIVESIGN 0x00000051(追記) (追記ここまで) 126 #define LOCALE_IPOSSIGNPOSN 0x00000052(追記) (追記ここまで) 127 #define LOCALE_INEGSIGNPOSN 0x00000053(追記) (追記ここまで) 128 #define LOCALE_IPOSSYMPRECEDES 0x00000054(追記) (追記ここまで) 129 #define LOCALE_IPOSSEPBYSPACE 0x00000055(追記) (追記ここまで) 130 #define LOCALE_INEGSYMPRECEDES 0x00000056(追記) (追記ここまで) 131 #define LOCALE_INEGSEPBYSPACE 0x00000057(追記) (追記ここまで) 132 #define(追記) (追記ここまで)LOCALE_FONTSIGNATURE 0x00000058 133 133 #define LOCALE_SISO639LANGNAME 0x00000059 134 134 #define LOCALE_SISO3166CTRYNAME 0x0000005A … … 139 139 #endif 140 140 141 #define NORM_IGNORECASE (削除) (削除ここまで)1142 #define NORM_IGNORENONSPACE (削除) (削除ここまで)2143 #define NORM_IGNORESYMBOLS (削除) (削除ここまで)4144 #define NORM_STRINGSORT (削除) (削除ここまで)0x1000141 #define NORM_IGNORECASE(追記) (追記ここまで)1 142 #define NORM_IGNORENONSPACE(追記) (追記ここまで)2 143 #define NORM_IGNORESYMBOLS(追記) (追記ここまで)4 144 #define NORM_STRINGSORT(追記) (追記ここまで)0x1000 145 145 #define NORM_IGNOREKANATYPE 0x00010000 146 146 #define NORM_IGNOREWIDTH 0x00020000 147 147 148 #define CP_ACP (削除) (削除ここまで)0149 #define CP_OEMCP (削除) (削除ここまで)1150 151 #define WC_DEFAULTCHECK (削除) (削除ここまで)0x00000100152 #define WC_COMPOSITECHECK (削除) (削除ここまで)0x00000200153 #define WC_DISCARDNS (削除) (削除ここまで)0x00000010154 #define WC_SEPCHARS (削除) (削除ここまで)0x00000020155 #define WC_DEFAULTCHAR (削除) (削除ここまで)0x00000040156 157 #define MAKELCID(l, s) (削除) (削除ここまで)(MAKELONG(l, s))158 159 #define MAKELANGID(p, s) (削除) (削除ここまで)((((WORD)(s))<<10) | (WORD)(p))160 #define PRIMARYLANGID(l) (削除) (削除ここまで)((WORD)(l) & 0x3ff)161 #define SUBLANGID(l) (削除) (削除ここまで)((WORD)(l) >> 10)162 163 #define LANG_SYSTEM_DEFAULT (削除) (削除ここまで)(MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT))164 #define LANG_USER_DEFAULT (削除) (削除ここまで)(MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT))165 #define LOCALE_SYSTEM_DEFAULT (削除) (削除ここまで)(MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT))166 #define LOCALE_USER_DEFAULT (削除) (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)) (削除ここまで)167 #define LOCALE_NEUTRAL (削除) (削除ここまで)(MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT))148 #define CP_ACP(追記) (追記ここまで)0 149 #define CP_OEMCP(追記) (追記ここまで)1 150 151 #define WC_DEFAULTCHECK(追記) (追記ここまで)0x00000100 152 #define WC_COMPOSITECHECK(追記) (追記ここまで)0x00000200 153 #define WC_DISCARDNS(追記) (追記ここまで)0x00000010 154 #define WC_SEPCHARS(追記) (追記ここまで)0x00000020 155 #define WC_DEFAULTCHAR(追記) (追記ここまで)0x00000040 156 157 #define MAKELCID(l, s)(追記) (追記ここまで)(MAKELONG(l, s)) 158 159 #define MAKELANGID(p, s)(追記) (追記ここまで)((((WORD)(s))<<10) | (WORD)(p)) 160 #define PRIMARYLANGID(l)(追記) (追記ここまで)((WORD)(l) & 0x3ff) 161 #define SUBLANGID(l)(追記) (追記ここまで)((WORD)(l) >> 10) 162 163 #define LANG_SYSTEM_DEFAULT(追記) (追記ここまで)(MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT)) 164 #define LANG_USER_DEFAULT(追記) (追記ここまで)(MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)) 165 #define LOCALE_SYSTEM_DEFAULT(追記) (追記ここまで)(MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT)) 166 #define LOCALE_USER_DEFAULT(追記) (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)) (追記ここまで) 167 #define LOCALE_NEUTRAL(追記) (追記ここまで)(MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)) 168 168 169 169 … … 174 174 175 175 /* FIXME: are the symbolic names correct for LIDs: 0x17, 0x20, 0x28, 176 * (削除) (削除ここまで)0x2a, 0x2b, 0x2c, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35,177 * (削除) (削除ここまで)0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3e, 0x3f, 0x41, 0x43, 0x44,178 * (削除) (削除ここまで)0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,179 * (削除) (削除ここまで)0x4f, 0x57176 *(追記) (追記ここまで) 0x2a, 0x2b, 0x2c, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 177 *(追記) (追記ここまで) 0x37, 0x39, 0x3a, 0x3b, 0x3c, 0x3e, 0x3f, 0x41, 0x43, 0x44, 178 *(追記) (追記ここまで) 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 179 *(追記) (追記ここまで) 0x4f, 0x57 180 180 */ 181 181 #define LANG_NEUTRAL 0x00 182 #define LANG_AFRIKAANS (削除) (削除ここまで)0x36183 #define LANG_ALBANIAN (削除) (削除ここまで)0x1c182 #define LANG_AFRIKAANS(追記) (追記ここまで) 0x36 183 #define LANG_ALBANIAN(追記) (追記ここまで) 0x1c 184 184 #define LANG_ARABIC 0x01 185 #define LANG_ARMENIAN (削除) (削除ここまで)0x2b186 #define LANG_ASSAMESE (削除) (削除ここまで)0x4d187 #define LANG_AZERI (削除) (削除ここまで)0x2c185 #define LANG_ARMENIAN(追記) (追記ここまで) 0x2b 186 #define LANG_ASSAMESE(追記) (追記ここまで) 0x4d 187 #define LANG_AZERI(追記) (追記ここまで) 0x2c 188 188 #define LANG_BASQUE 0x2d 189 #define LANG_BENGALI (削除) (削除ここまで)0x45189 #define LANG_BENGALI(追記) (追記ここまで) 0x45 190 190 #define LANG_BULGARIAN 0x02 191 191 #define LANG_BYELORUSSIAN 0x23 … … 193 193 #define LANG_CHINESE 0x04 194 194 #define LANG_SERBO_CROATIAN 0x1a 195 #define LANG_CROATIAN (削除) (削除ここまで)LANG_SERBO_CROATIAN196 #define LANG_SERBIAN (削除) (削除ここまで)LANG_SERBO_CROATIAN195 #define LANG_CROATIAN(追記) (追記ここまで) LANG_SERBO_CROATIAN 196 #define LANG_SERBIAN(追記) (追記ここまで) LANG_SERBO_CROATIAN 197 197 #define LANG_CZECH 0x05 198 198 #define LANG_DANISH 0x06 … … 204 204 #define LANG_FINNISH 0x0b 205 205 #define LANG_FRENCH 0x0c 206 #define LANG_GAELIC (削除) (削除ここまで)0x3c207 #define LANG_GEORGIAN (削除) (削除ここまで)0x37206 #define LANG_GAELIC(追記) (追記ここまで) 0x3c 207 #define LANG_GEORGIAN(追記) (追記ここまで) 0x37 208 208 #define LANG_GERMAN 0x07 209 209 #define LANG_GREEK 0x08 210 #define LANG_GUJARATI (削除) (削除ここまで)0x47210 #define LANG_GUJARATI(追記) (追記ここまで) 0x47 211 211 #define LANG_HEBREW 0x0D 212 #define LANG_HINDI (削除) (削除ここまで)0x39212 #define LANG_HINDI(追記) (追記ここまで) 0x39 213 213 #define LANG_HUNGARIAN 0x0e 214 214 #define LANG_ICELANDIC 0x0f … … 216 216 #define LANG_ITALIAN 0x10 217 217 #define LANG_JAPANESE 0x11 218 #define LANG_KANNADA (削除) (削除ここまで)0x4b219 #define LANG_KAZAKH (削除) (削除ここまで)0x3f220 #define LANG_KONKANI (削除) (削除ここまで)0x57218 #define LANG_KANNADA(追記) (追記ここまで) 0x4b 219 #define LANG_KAZAKH(追記) (追記ここまで) 0x3f 220 #define LANG_KONKANI(追記) (追記ここまで) 0x57 221 221 #define LANG_KOREAN 0x12 222 222 #define LANG_LATVIAN 0x26 223 223 #define LANG_LITHUANIAN 0x27 224 #define LANG_MACEDONIAN (削除) (削除ここまで)0x2f225 #define LANG_MALAY (削除) (削除ここまで)0x3e226 #define LANG_MALAYALAM (削除) (削除ここまで)0x4c227 #define LANG_MALTESE (削除) (削除ここまで)0x3a228 #define LANG_MAORI (削除) (削除ここまで)0x28229 #define LANG_MARATHI (削除) (削除ここまで)0x4e224 #define LANG_MACEDONIAN(追記) (追記ここまで) 0x2f 225 #define LANG_MALAY(追記) (追記ここまで) 0x3e 226 #define LANG_MALAYALAM(追記) (追記ここまで) 0x4c 227 #define LANG_MALTESE(追記) (追記ここまで) 0x3a 228 #define LANG_MAORI(追記) (追記ここまで) 0x28 229 #define LANG_MARATHI(追記) (追記ここまで) 0x4e 230 230 #define LANG_NORWEGIAN 0x14 231 #define LANG_ORIYA (削除) (削除ここまで)0x48231 #define LANG_ORIYA(追記) (追記ここまで) 0x48 232 232 #define LANG_POLISH 0x15 233 233 #define LANG_PORTUGUESE 0x16 234 #define LANG_PUNJABI (削除) (削除ここまで)0x46235 #define LANG_RHAETO_ROMANCE (削除) (削除ここまで)0x17234 #define LANG_PUNJABI(追記) (追記ここまで) 0x46 235 #define LANG_RHAETO_ROMANCE(追記) (追記ここまで) 0x17 236 236 #define LANG_ROMANIAN 0x18 237 237 #define LANG_RUSSIAN 0x19 238 #define LANG_SAAMI (削除) (削除ここまで)0x3b239 #define LANG_SANSKRIT (削除) (削除ここまで)0x4f238 #define LANG_SAAMI(追記) (追記ここまで) 0x3b 239 #define LANG_SANSKRIT(追記) (追記ここまで) 0x4f 240 240 #define LANG_SLOVAK 0x1b 241 241 #define LANG_SLOVENIAN 0x24 242 242 #define LANG_SORBIAN 0x2e 243 243 #define LANG_SPANISH 0x0a 244 #define LANG_SUTU (削除) (削除ここまで)0x30245 #define LANG_SWAHILI (削除) (削除ここまで)0x41244 #define LANG_SUTU(追記) (追記ここまで) 0x30 245 #define LANG_SWAHILI(追記) (追記ここまで) 0x41 246 246 #define LANG_SWEDISH 0x1d 247 #define LANG_TAMIL (削除) (削除ここまで)0x49248 #define LANG_TATAR (削除) (削除ここまで)0x44249 #define LANG_TELUGU (削除) (削除ここまで)0x4a247 #define LANG_TAMIL(追記) (追記ここまで) 0x49 248 #define LANG_TATAR(追記) (追記ここまで) 0x44 249 #define LANG_TELUGU(追記) (追記ここまで) 0x4a 250 250 #define LANG_THAI 0x1e 251 #define LANG_TSONGA (削除) (削除ここまで)0x31252 #define LANG_TSWANA (削除) (削除ここまで)0x32251 #define LANG_TSONGA(追記) (追記ここまで) 0x31 252 #define LANG_TSWANA(追記) (追記ここまで) 0x32 253 253 #define LANG_TURKISH 0x1f 254 254 #define LANG_UKRAINIAN 0x22 255 #define LANG_URDU (削除) (削除ここまで)0x20256 #define LANG_UZBEK (削除) (削除ここまで)0x43257 #define LANG_VENDA (削除) (削除ここまで)0x33258 #define LANG_VIETNAMESE (削除) (削除ここまで)0x2a259 #define LANG_XHOSA (削除) (削除ここまで)0x34260 #define LANG_ZULU (削除) (削除ここまで)0x35255 #define LANG_URDU(追記) (追記ここまで) 0x20 256 #define LANG_UZBEK(追記) (追記ここまで) 0x43 257 #define LANG_VENDA(追記) (追記ここまで) 0x33 258 #define LANG_VIETNAMESE(追記) (追記ここまで) 0x2a 259 #define LANG_XHOSA(追記) (追記ここまで) 0x34 260 #define LANG_ZULU(追記) (追記ここまで) 0x35 261 261 /* non standard; keep the number high enough (but < 0xff) */ 262 #define LANG_ESPERANTO (削除) (削除ここまで)0x8f263 #define LANG_WALON (削除) (削除ここまで)0x90262 #define LANG_ESPERANTO(追記) (追記ここまで) 0x8f 263 #define LANG_WALON(追記) (追記ここまで) 0x90 264 264 265 265 /* Sublanguage definitions */ … … 292 292 #define SUBLANG_DUTCH 0x01 293 293 #define SUBLANG_DUTCH_BELGIAN 0x02 294 #define SUBLANG_DUTCH_SURINAM (削除) (削除ここまで)0x03294 #define SUBLANG_DUTCH_SURINAM(追記) (追記ここまで) 0x03 295 295 #define SUBLANG_ENGLISH_US 0x01 296 296 #define SUBLANG_ENGLISH_UK 0x02 … … 341 341 #define SUBLANG_SPANISH_PARAGUAY 0x0f 342 342 #define SUBLANG_SPANISH_BOLIVIA 0x10 343 #define SUBLANG_SPANISH_EL_SALVADOR (削除) (削除ここまで)0x11343 #define SUBLANG_SPANISH_EL_SALVADOR(追記) (追記ここまで) 0x11 344 344 #define SUBLANG_SPANISH_HONDURAS 0x12 345 345 #define SUBLANG_SPANISH_NICARAGUA 0x13 346 346 #define SUBLANG_SPANISH_PUERTO_RICO 0x14 347 347 /* FIXME: I don't know the symbolic names for those */ 348 #define SUBLANG_ROMANIAN (削除) (削除ここまで)0x01349 #define SUBLANG_ROMANIAN_MOLDAVIA (削除) (削除ここまで)0x02350 #define SUBLANG_RUSSIAN (削除) (削除ここまで)0x01351 #define SUBLANG_RUSSIAN_MOLDAVIA (削除) (削除ここまで)0x02352 #define SUBLANG_CROATIAN (削除) (削除ここまで)0x01353 #define SUBLANG_SERBIAN (削除) (削除ここまで)0x02354 #define SUBLANG_SERBIAN_LATIN (削除) (削除ここまで)0x03355 #define SUBLANG_SWEDISH (削除) (削除ここまで)0x01356 #define SUBLANG_SWEDISH_FINLAND (削除) (削除ここまで)0x02357 #define SUBLANG_LITHUANIAN (削除) (削除ここまで)0x01358 #define SUBLANG_LITHUANIAN_CLASSIC (削除) (削除ここまで)0x02359 #define SUBLANG_AZERI (削除) (削除ここまで)0x01360 #define SUBLANG_AZERI_CYRILLIC (削除) (削除ここまで)0x02361 #define SUBLANG_GAELIC (削除) (削除ここまで)0x01362 #define SUBLANG_GAELIC_SCOTTISH (削除) (削除ここまで)0x02363 #define SUBLANG_MALAY (削除) (削除ここまで)0x01348 #define SUBLANG_ROMANIAN(追記) (追記ここまで) 0x01 349 #define SUBLANG_ROMANIAN_MOLDAVIA(追記) (追記ここまで) 0x02 350 #define SUBLANG_RUSSIAN(追記) (追記ここまで) 0x01 351 #define SUBLANG_RUSSIAN_MOLDAVIA(追記) (追記ここまで) 0x02 352 #define SUBLANG_CROATIAN(追記) (追記ここまで) 0x01 353 #define SUBLANG_SERBIAN(追記) (追記ここまで) 0x02 354 #define SUBLANG_SERBIAN_LATIN(追記) (追記ここまで) 0x03 355 #define SUBLANG_SWEDISH(追記) (追記ここまで) 0x01 356 #define SUBLANG_SWEDISH_FINLAND(追記) (追記ここまで) 0x02 357 #define SUBLANG_LITHUANIAN(追記) (追記ここまで) 0x01 358 #define SUBLANG_LITHUANIAN_CLASSIC(追記) (追記ここまで) 0x02 359 #define SUBLANG_AZERI(追記) (追記ここまで) 0x01 360 #define SUBLANG_AZERI_CYRILLIC(追記) (追記ここまで) 0x02 361 #define SUBLANG_GAELIC(追記) (追記ここまで) 0x01 362 #define SUBLANG_GAELIC_SCOTTISH(追記) (追記ここまで) 0x02 363 #define SUBLANG_MALAY(追記) (追記ここまで) 0x01 364 364 #define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 365 #define SUBLANG_UZBEK (削除) (削除ここまで)0x01366 #define SUBLANG_UZBEK_CYRILLIC (削除) (削除ここまで)0x02365 #define SUBLANG_UZBEK(追記) (追記ここまで) 0x01 366 #define SUBLANG_UZBEK_CYRILLIC(追記) (追記ここまで) 0x02 367 367 #define SUBLANG_URDU_PAKISTAN 0x01 368 368 … … 378 378 379 379 /* Locale Dependent Mapping Flags */ 380 #define LCMAP_LOWERCASE (削除) 0x00000100 (削除ここまで)/* lower case letters */381 #define LCMAP_UPPERCASE (削除) 0x00000200 (削除ここまで)/* upper case letters */382 #define LCMAP_SORTKEY (削除) 0x00000400 (削除ここまで)/* WC sort key (normalize) */383 #define LCMAP_BYTEREV (削除) 0x00000800 (削除ここまで)/* byte reversal */380 #define LCMAP_LOWERCASE(追記) 0x00000100 (追記ここまで)/* lower case letters */ 381 #define LCMAP_UPPERCASE(追記) 0x00000200 (追記ここまで)/* upper case letters */ 382 #define LCMAP_SORTKEY(追記) 0x00000400 (追記ここまで)/* WC sort key (normalize) */ 383 #define LCMAP_BYTEREV(追記) 0x00000800 (追記ここまで)/* byte reversal */ 384 384 385 385 #define SORT_STRINGSORT 0x00001000 /* take punctuation into account */ 386 386 387 #define LCMAP_HIRAGANA (削除) 0x00100000 (削除ここまで)/* map katakana to hiragana */388 #define LCMAP_KATAKANA (削除) 0x00200000 (削除ここまで)/* map hiragana to katakana */389 #define LCMAP_HALFWIDTH (削除) 0x00400000 (削除ここまで)/* map double byte to single byte */390 #define LCMAP_FULLWIDTH (削除) 0x00800000 (削除ここまで)/* map single byte to double byte */387 #define LCMAP_HIRAGANA(追記) 0x00100000 (追記ここまで)/* map katakana to hiragana */ 388 #define LCMAP_KATAKANA(追記) 0x00200000 (追記ここまで)/* map hiragana to katakana */ 389 #define LCMAP_HALFWIDTH(追記) 0x00400000 (追記ここまで)/* map double byte to single byte */ 390 #define LCMAP_FULLWIDTH(追記) 0x00800000 (追記ここまで)/* map single byte to double byte */ 391 391 392 392 /* Date Flags for GetDateFormat. */ … … 415 415 416 416 /* Definitions for IsTextUnicode() function */ 417 #define IS_TEXT_UNICODE_ASCII16 (削除) (削除ここまで)0x0001418 #define IS_TEXT_UNICODE_SIGNATURE (削除) (削除ここまで)0x0008419 #define IS_TEXT_UNICODE_REVERSE_ASCII16 (削除) (削除ここまで)0x0010417 #define IS_TEXT_UNICODE_ASCII16(追記) (追記ここまで)0x0001 418 #define IS_TEXT_UNICODE_SIGNATURE(追記) (追記ここまで)0x0008 419 #define IS_TEXT_UNICODE_REVERSE_ASCII16(追記) (追記ここまで)0x0010 420 420 #define IS_TEXT_UNICODE_REVERSE_SIGNATURE 0x0080 421 #define IS_TEXT_UNICODE_ILLEGAL_CHARS (削除) (削除ここまで)0x0100422 #define IS_TEXT_UNICODE_ODD_LENGTH (削除) (削除ここまで)0x0200421 #define IS_TEXT_UNICODE_ILLEGAL_CHARS(追記) (追記ここまで)0x0100 422 #define IS_TEXT_UNICODE_ODD_LENGTH(追記) (追記ここまで)0x0200 423 423 424 424 /* Tests that we currently implement */ 425 425 #define ITU_IMPLEMENTED_TESTS \ 426 (削除) (削除ここまで)IS_TEXT_UNICODE_SIGNATURE| \427 (削除) (削除ここまで)IS_TEXT_UNICODE_ODD_LENGTH428 429 426 (追記) (追記ここまで)IS_TEXT_UNICODE_SIGNATURE| \ 427 (追記) (追記ここまで)IS_TEXT_UNICODE_ODD_LENGTH 428 429 430 430 /* Character Type Flags */ 431 #define CT_CTYPE1 0x00000001 /* usual ctype */ 432 #define CT_CTYPE2 0x00000002 /* bidirectional layout info */ 433 #define CT_CTYPE3 0x00000004 /* textprocessing info */ 431 #ifdef CT_CTYPE1 432 # undef CT_CTYPE1 433 #endif 434 435 #ifdef CT_CTYPE2 436 # undef CT_CTYPE2 437 #endif 438 439 #ifdef CT_CTYPE3 440 # undef CT_CTYPE3 441 #endif 442 443 444 #define CT_CTYPE1 0x00000001 /* usual ctype */ 445 #define CT_CTYPE2 0x00000002 /* bidirectional layout info */ 446 #define CT_CTYPE3 0x00000004 /* textprocessing info */ 447 448 434 449 435 450 /* CType 1 Flag Bits */ 436 #define C1_UPPER 0x0001 437 #define C1_LOWER 0x0002 438 #define C1_DIGIT 0x0004 439 #define C1_SPACE 0x0008 440 #define C1_PUNCT 0x0010 441 #define C1_CNTRL 0x0020 442 #define C1_BLANK 0x0040 443 #define C1_XDIGIT 0x0080 444 #define C1_ALPHA 0x0100 451 #ifdef C1_UPPER 452 # undef C1_UPPER 453 #endif 454 455 #ifdef C1_LOWER 456 # undef C1_LOWER 457 #endif 458 459 #ifdef C1_DIGIT 460 # undef C1_DIGIT 461 #endif 462 463 #ifdef C1_SPACE 464 # undef C1_SPACE 465 #endif 466 467 #ifdef C1_PUNCT 468 # undef C1_PUNCT 469 #endif 470 471 #ifdef C1_CNTRL 472 # undef C1_CNTRL 473 #endif 474 475 #ifdef C1_BLANK 476 # undef C1_BLANK 477 #endif 478 479 #ifdef C1_XDIGIT 480 # undef C1_XDIGIT 481 #endif 482 483 #ifdef C1_ALPHA 484 # undef C1_ALPHA 485 #endif 486 487 488 #define C1_UPPER 0x0001 489 #define C1_LOWER 0x0002 490 #define C1_DIGIT 0x0004 491 #define C1_SPACE 0x0008 492 #define C1_PUNCT 0x0010 493 #define C1_CNTRL 0x0020 494 #define C1_BLANK 0x0040 495 #define C1_XDIGIT 0x0080 496 #define C1_ALPHA 0x0100 497 445 498 446 499 /* CType 2 Flag Bits */ 447 #define C2_LEFTTORIGHT 0x0001 448 #define C2_RIGHTTOLEFT 0x0002 449 #define C2_EUROPENUMBER 0x0003 450 #define C2_EUROPESEPARATOR 0x0004 451 #define C2_EUROPETERMINATOR 0x0005 452 #define C2_ARABICNUMBER 0x0006 453 #define C2_COMMONSEPARATOR 0x0007 454 #define C2_BLOCKSEPARATOR 0x0008 455 #define C2_SEGMENTSEPARATOR 0x0009 456 #define C2_WHITESPACE 0x000A 457 #define C2_OTHERNEUTRAL 0x000B 458 #define C2_NOTAPPLICABLE 0x0000 500 #ifdef C2_LEFTTORIGHT 501 # undef C2_LEFTTORIGHT 502 #endif 503 504 #ifdef C2_RIGHTTOLEFT 505 # undef C2_RIGHTTOLEFT 506 #endif 507 508 #ifdef C2_EUROPENUMBER 509 # undef C2_EUROPENUMBER 510 #endif 511 512 #ifdef C2_EUROPESEPARATOR 513 # undef C2_EUROPESEPARATOR 514 #endif 515 516 #ifdef C2_EUROPETERMINATOR 517 # undef C2_EUROPETERMINATOR 518 #endif 519 520 #ifdef C2_ARABICNUMBER 521 # undef C2_ARABICNUMBER 522 #endif 523 524 #ifdef C2_COMMONSEPARATOR 525 # undef C2_COMMONSEPARATOR 526 #endif 527 528 #ifdef C2_BLOCKSEPARATOR 529 # undef C2_BLOCKSEPARATOR 530 #endif 531 532 #ifdef C2_SEGMENTSEPARATOR 533 # undef C2_SEGMENTSEPARATOR 534 #endif 535 536 #ifdef C2_WHITESPACE 537 # undef C2_WHITESPACE 538 #endif 539 540 #ifdef C2_OTHERNEUTRAL 541 # undef C2_OTHERNEUTRAL 542 #endif 543 544 #ifdef C2_NOTAPPLICABLE 545 # undef C2_NOTAPPLICABLE 546 #endif 547 548 549 #define C2_LEFTTORIGHT 0x0001 550 #define C2_RIGHTTOLEFT 0x0002 551 #define C2_EUROPENUMBER 0x0003 552 #define C2_EUROPESEPARATOR 0x0004 553 #define C2_EUROPETERMINATOR 0x0005 554 #define C2_ARABICNUMBER 0x0006 555 #define C2_COMMONSEPARATOR 0x0007 556 #define C2_BLOCKSEPARATOR 0x0008 557 #define C2_SEGMENTSEPARATOR 0x0009 558 #define C2_WHITESPACE 0x000A 559 #define C2_OTHERNEUTRAL 0x000B 560 #define C2_NOTAPPLICABLE 0x0000 459 561 460 562 /* CType 3 Flag Bits */ 461 #define (削除) C3_NONSPACING (削除ここまで)0x0001462 #define (削除) C3_DIACRITIC (削除ここまで)0x0002463 #define (削除) C3_VOWELMARK (削除ここまで)0x0004464 #define (削除) C3_SYMBOL (削除ここまで)0x0008465 #define (削除) C3_KATAKANA (削除ここまで)0x0010466 #define (削除) C3_HIRAGANA (削除ここまで)0x0020467 #define (削除) C3_HALFWIDTH (削除ここまで)0x0040468 #define (削除) C3_FULLWIDTH (削除ここまで)0x0080469 #define (削除) C3_IDEOGRAPH (削除ここまで)0x0100470 #define (削除) C3_KASHIDA (削除ここまで)0x0200471 #define (削除) C3_LEXICAL (削除ここまで)0x0400472 #define (削除) C3_ALPHA (削除ここまで)0x8000473 #define (削除) C3_NOTAPPLICABLE (削除ここまで)0x0000563 #define(追記) C3_NONSPACING (追記ここまで)0x0001 564 #define(追記) C3_DIACRITIC (追記ここまで)0x0002 565 #define(追記) C3_VOWELMARK (追記ここまで)0x0004 566 #define(追記) C3_SYMBOL (追記ここまで)0x0008 567 #define(追記) C3_KATAKANA (追記ここまで)0x0010 568 #define(追記) C3_HIRAGANA (追記ここまで)0x0020 569 #define(追記) C3_HALFWIDTH (追記ここまで)0x0040 570 #define(追記) C3_FULLWIDTH (追記ここまで)0x0080 571 #define(追記) C3_IDEOGRAPH (追記ここまで)0x0100 572 #define(追記) C3_KASHIDA (追記ここまで)0x0200 573 #define(追記) C3_LEXICAL (追記ここまで)0x0400 574 #define(追記) C3_ALPHA (追記ここまで)0x8000 575 #define(追記) C3_NOTAPPLICABLE (追記ここまで)0x0000 474 576 475 577 typedef DWORD CALTYPE; 476 578 typedef DWORD CALID; 477 579 478 typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR); 479 typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR); 580 #if (defined(__IBMCPP__) || defined(__IBMC__)) 581 typedef BOOL (CALLBACK tCALINFO_ENUMPROCA)(LPSTR); 582 typedef BOOL (CALLBACK tCALINFO_ENUMPROCW)(LPWSTR); 583 typedef tCALINFO_ENUMPROCA *CALINFO_ENUMPROCA; 584 typedef tCALINFO_ENUMPROCW *CALINFO_ENUMPROCW; 585 #else 586 typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR); 587 typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR); 588 #endif 589 590 480 591 DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC) 481 592 482 BOOL (削除) (削除ここまで)WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);483 BOOL (削除) (削除ここまで)WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);593 BOOL(追記) (追記ここまで)WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType); 594 BOOL(追記) (追記ここまで)WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType); 484 595 #define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo) 485 596 -
/trunk/makefile
r20 r30 1 # $Id: makefile,v 1. (削除) 1 1999年05月24日 20:19:05 ktk (削除ここまで)Exp $1 # $Id: makefile,v 1.(追記) 2 1999年06月01日 08:43:08 phaller (追記ここまで) Exp $ 2 2 3 3 # … … 17 17 # 18 18 19 all: (削除) (削除ここまで)20 (削除) (削除ここまで)cd src21 (削除) (削除ここまで)nmake -nologo all19 all:(追記) odin_libraries (追記ここまで) 20 (追記) (追記ここまで)cd src 21 (追記) (追記ここまで)nmake -nologo all 22 22 23 clean: (削除) (削除ここまで)24 (削除) (削除ここまで)cd src25 (削除) (削除ここまで)nmake -nologo clean23 clean:(追記) odin_libraries (追記ここまで) 24 (追記) (追記ここまで)cd src 25 (追記) (追記ここまで)nmake -nologo clean 26 26 27 debug: (削除) (削除ここまで)28 (削除) (削除ここまで)cd src29 (削除) (削除ここまで)nmake -nologo all DEBUG=127 debug:(追記) odin_libraries (追記ここまで) 28 (追記) (追記ここまで)cd src 29 (追記) (追記ここまで)nmake -nologo all DEBUG=1 30 30 31 release: 32 cd src 33 nmake -nologo all 31 release: odin_libraries 32 cd src 33 nmake -nologo all 34 35 36 37 # --- common section --- 38 odin_libraries: 39 cd lib 40 nmake -nologo 41 cd .. 42 -
/trunk/src/NTDLL/makefile
r20 r30 1 # $Id: makefile,v 1. (削除) 1 1999年05月24日 20:19:31 ktk Exp $ (削除ここまで)1 # $Id: makefile,v 1.(追記) 2 1999年06月01日 21:52:15 phaller Exp $ (追記ここまで) 2 2 3 3 # 4 # PD-Win32 API (削除) (削除ここまで)4 # PD-Win32 API(追記) (追記ここまで) 5 5 # 6 # (削除) (削除ここまで)NTDLL.dll makefile7 # (削除) (削除ここまで)6 #(追記) (追記ここまで)NTDLL.dll makefile 7 #(追記) (追記ここまで) 8 8 9 9 PDWIN32_INCLUDE = ..\..\include … … 19 19 20 20 21 OBJS = NTDLL.obj 21 OBJS = NTDLL.obj \ 22 file.obj \ 23 nt.obj \ 24 om.obj \ 25 reg.obj \ 26 rtl.obj \ 27 rtlstr.obj \ 28 sec.obj \ 29 sync.obj \ 30 time.obj 31 22 32 23 33 TARGET = NTDLL … … 29 39 $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS) $(TARGET).def $(PDWIN32_LIB)\kernel32.lib 30 40 # PMWINX.LIB LIBULS.LIB LIBCONV.LIB 31 (削除) (削除ここまで)$(CP) $@ $(PDWIN32_BIN)41 (追記) (追記ここまで)$(CP) $@ $(PDWIN32_BIN) 32 42 33 43 $(TARGET).lib: $(TARGET).dll 34 44 $(IMPLIB) $(IMPLIBFLAGS) $@ $(TARGET).dll 35 (削除) (削除ここまで)$(CP) $@ $(PDWIN32_LIB)45 (追記) (追記ここまで)$(CP) $@ $(PDWIN32_LIB) 36 46 37 47 38 48 39 ntdll.obj: \ 40 .\ntdll.c \ 41 .\ntdll.h \ 42 $(PDWIN32_INCLUDE)\unicode.h 49 ntdll.obj: .\ntdll.c .\ntdll.h 50 51 file.obj: .\file.c .\ntdll.h 52 53 nt.obj: .\nt.c .\ntdll.h 54 55 om.obj: .\om.c .\ntdll.h 56 57 reg.obj: .\reg.c .\ntdll.h 58 59 rtl.obj: .\rtl.c .\ntdll.h 60 61 rtlstr.obj: .\rtlstr.c .\ntdll.h 62 63 sec.obj: .\sec.c .\ntdll.h 64 65 sync.obj: .\sync.c .\ntdll.h 66 67 time.obj: .\time.c .\ntdll.h 68 43 69 44 70 45 71 clean: 46 $(RM) *.obj *.lib *.dll *~ *.map *.pch 47 (削除) (削除ここまで)$(RM) $(PDWIN32_LIB)\$(TARGET).lib48 (削除) (削除ここまで)$(RM) $(PDWIN32_BIN)\$(TARGET).dll72 $(RM) *.obj *.lib *.dll *~ *.map *.pch 73 (追記) (追記ここまで)$(RM) $(PDWIN32_LIB)\$(TARGET).lib 74 (追記) (追記ここまで)$(RM) $(PDWIN32_BIN)\$(TARGET).dll 49 75 50 (削除) (削除ここまで) -
/trunk/src/NTDLL/ntdll.c
r20 r30 1 /* $Id: ntdll.c,v 1. (削除) 1 1999年05月24日 20:19:31 ktk (削除ここまで)Exp $ */1 /* $Id: ntdll.c,v 1.(追記) 2 1999年06月01日 21:52:15 phaller (追記ここまで) Exp $ */ 2 2 3 3 /* 4 4 * 5 5 * Project Odin Software License can be found in LICENSE.TXT 6 (追記) * Win32 NT Runtime / NTDLL for OS/2 (追記ここまで) 6 7 * 7 */ 8 /* 9 * Win32 NT Runtime for OS/2 8 * Copyright 1998, 1999 Patrick Haller (phaller@gmx.net) 10 9 * 11 * 1998年05月20日 Patrick Haller (haller@zebra.fh-weingarten.de) 12 * 13 * @(#) ntdll.cpp 1.0.1 1999年05月08日 SvL: Changes for compilation with Wine headers 10 * @(#) ntdll.cpp 1.0.1 1999年05月08日 SvL: Changes for compilation with Wine headers 14 11 * 1.0.0 1998年05月20日 PH Start from WINE/NTDLL.C 15 12 * … … 37 34 #include <winnt.h> 38 35 #include <ntdef.h> 39 (削除) (削除ここまで)40 36 #include <builtin.h> 41 37 #include <stdlib.h> … … 45 41 #include "unicode.h" 46 42 43 (追記) #include "ntdll.h" (追記ここまで) 44 (追記) (追記ここまで) 47 45 48 46 /***************************************************************************** 49 47 * Types & Defines * 50 48 *****************************************************************************/ 49 (追記) (追記ここまで) 50 (追記) #define NTSTATUS DWORD (追記ここまで) 51 51 52 52 … … 81 81 return dst; 82 82 } 83 (追記) (追記ここまで) 84 (追記) (追記ここまで) 85 (追記) /*********************************************************************** (追記ここまで) 86 (追記) * lstrncmp32W (Not a Windows API) (追記ここまで) 87 (追記) */ (追記ここまで) 88 (追記) INT WIN32API lstrncmpW( LPCWSTR str1, LPCWSTR str2, INT n ) (追記ここまで) 89 (追記) { (追記ここまで) 90 (追記) if (!n) (追記ここまで) 91 (追記) return 0; (追記ここまで) 92 (追記) (追記ここまで) 93 (追記) while ((--n > 0) && *str1 && (*str1 == *str2)) (追記ここまで) 94 (追記) { (追記ここまで) 95 (追記) str1++; (追記ここまで) 96 (追記) str2++; (追記ここまで) 97 (追記) } (追記ここまで) 98 (追記) (追記ここまで) 99 (追記) return (INT)(*str1 - *str2); (追記ここまで) 100 (追記) } (追記ここまで) 101 (追記) (追記ここまで) 83 102 84 103 … … 161 180 } 162 181 163 (削除) (削除ここまで)164 (削除) /************************************************************************** (削除ここまで)165 (削除) * RtlLengthRequiredSid [NTDLL] (削除ここまで)166 (削除) */ (削除ここまで)167 (削除) DWORD WIN32API RtlLengthRequiredSid(DWORD nrofsubauths) (削除ここまで)168 (削除) { (削除ここまで)169 (削除) dprintf(("NTDLL: RtlLengthRequireSid(%08x)\n", (削除ここまで)170 (削除) nrofsubauths)); (削除ここまで)171 (削除) (削除ここまで)172 (削除) return sizeof(DWORD)*nrofsubauths+sizeof(SID); (削除ここまで)173 (削除) } (削除ここまで)174 (削除) (削除ここまで)175 (削除) /************************************************************************** (削除ここまで)176 (削除) * RtlLengthSid [NTDLL] (削除ここまで)177 (削除) */ (削除ここまで)178 (削除) DWORD WIN32API RtlLengthSid(PSID sid) (削除ここまで)179 (削除) { (削除ここまで)180 (削除) dprintf(("NTDLL: RtlLengthSid(%08x)\n", (削除ここまで)181 (削除) sid)); (削除ここまで)182 (削除) (削除ここまで)183 (削除) return sizeof(DWORD)*sid->SubAuthorityCount+sizeof(SID); (削除ここまで)184 (削除) } (削除ここまで)185 (削除) (削除ここまで)186 (削除) /************************************************************************** (削除ここまで)187 (削除) * RtlCreateAcl [NTDLL] (削除ここまで)188 (削除) * (削除ここまで)189 (削除) * NOTES (削除ここまで)190 (削除) * This should return NTSTATUS (削除ここまで)191 (削除) */ (削除ここまで)192 (削除) DWORD WIN32API RtlCreateAcl(PACL acl, (削除ここまで)193 (削除) DWORD size, (削除ここまで)194 (削除) DWORD rev) (削除ここまで)195 (削除) { (削除ここまで)196 (削除) dprintf(("NTDLL: RtlCreateAcl(%08x,%08x,%08x)\n", (削除ここまで)197 (削除) acl, (削除ここまで)198 (削除) size, (削除ここまで)199 (削除) rev)); (削除ここまで)200 (削除) (削除ここまで)201 (削除) if (rev!=ACL_REVISION) (削除ここまで)202 (削除) return STATUS_INVALID_PARAMETER; (削除ここまで)203 (削除) (削除ここまで)204 (削除) if (size<sizeof(ACL)) (削除ここまで)205 (削除) return STATUS_BUFFER_TOO_SMALL; (削除ここまで)206 (削除) (削除ここまで)207 (削除) if (size>0xFFFF) (削除ここまで)208 (削除) return STATUS_INVALID_PARAMETER; (削除ここまで)209 (削除) (削除ここまで)210 (削除) (削除ここまで)211 (削除) memset(acl, (削除ここまで)212 (削除) '0円', (削除ここまで)213 (削除) sizeof(ACL)); (削除ここまで)214 (削除) (削除ここまで)215 (削除) acl->AclRevision = rev; (削除ここまで)216 (削除) acl->AclSize = size; (削除ここまで)217 (削除) acl->AceCount = 0; (削除ここまで)218 (削除) return 0; (削除ここまで)219 (削除) } (削除ここまで)220 (削除) (削除ここまで)221 (削除) /************************************************************************** (削除ここまで)222 (削除) * RtlFirstFreeAce [NTDLL] (削除ここまで)223 (削除) * looks for the AceCount+1 ACE, and if it is still within the alloced (削除ここまで)224 (削除) * ACL, return a pointer to it (削除ここまで)225 (削除) */ (削除ここまで)226 (削除) BOOL WIN32API RtlFirstFreeAce(PACL acl, (削除ここまで)227 (削除) PACE_HEADER *x) (削除ここまで)228 (削除) { (削除ここまで)229 (削除) PACE_HEADER ace; (削除ここまで)230 (削除) int i; (削除ここまで)231 (削除) (削除ここまで)232 (削除) dprintf(("NTDLL: RtlFirstFreeAce(%08x,%08x)\n", (削除ここまで)233 (削除) acl, (削除ここまで)234 (削除) x)); (削除ここまで)235 (削除) (削除ここまで)236 (削除) *x = 0; (削除ここまで)237 (削除) ace = (PACE_HEADER)(acl+1); (削除ここまで)238 (削除) for (i=0;i<acl->AceCount;i++) { (削除ここまで)239 (削除) if ((DWORD)ace>=(((DWORD)acl)+acl->AclSize)) (削除ここまで)240 (削除) return 0; (削除ここまで)241 (削除) ace = (PACE_HEADER)(((BYTE*)ace)+ace->AceSize); (削除ここまで)242 (削除) } (削除ここまで)243 (削除) if ((DWORD)ace>=(((DWORD)acl)+acl->AclSize)) (削除ここまで)244 (削除) return 0; (削除ここまで)245 (削除) *x = ace; (削除ここまで)246 (削除) return 1; (削除ここまで)247 (削除) } (削除ここまで)248 (削除) (削除ここまで)249 (削除) /************************************************************************** (削除ここまで)250 (削除) * RtlAddAce [NTDLL] (削除ここまで)251 (削除) */ (削除ここまで)252 (削除) DWORD WIN32API RtlAddAce(PACL acl, (削除ここまで)253 (削除) DWORD rev, (削除ここまで)254 (削除) DWORD xnrofaces, (削除ここまで)255 (削除) PACE_HEADER acestart, (削除ここまで)256 (削除) DWORD acelen) (削除ここまで)257 (削除) { (削除ここまで)258 (削除) PACE_HEADER ace,targetace; (削除ここまで)259 (削除) int nrofaces; (削除ここまで)260 (削除) (削除ここまで)261 (削除) dprintf(("NTDLL: RtlAddAce(%08x,%08x,%08x,%08x,%08x)\n", (削除ここまで)262 (削除) acl, (削除ここまで)263 (削除) rev, (削除ここまで)264 (削除) xnrofaces, (削除ここまで)265 (削除) acestart, (削除ここまで)266 (削除) acelen)); (削除ここまで)267 (削除) (削除ここまで)268 (削除) if (acl->AclRevision != ACL_REVISION) (削除ここまで)269 (削除) return STATUS_INVALID_PARAMETER; (削除ここまで)270 (削除) if (!RtlFirstFreeAce(acl,&targetace)) (削除ここまで)271 (削除) return STATUS_INVALID_PARAMETER; (削除ここまで)272 (削除) nrofaces=0;ace=acestart; (削除ここまで)273 (削除) while (((DWORD)ace-(DWORD)acestart)<acelen) { (削除ここまで)274 (削除) nrofaces++; (削除ここまで)275 (削除) ace = (PACE_HEADER)(((BYTE*)ace)+ace->AceSize); (削除ここまで)276 (削除) } (削除ここまで)277 (削除) if ((DWORD)targetace+acelen>(DWORD)acl+acl->AclSize) /* too much aces */ (削除ここまで)278 (削除) return STATUS_INVALID_PARAMETER; (削除ここまで)279 (削除) memcpy((LPBYTE)targetace,acestart,acelen); (削除ここまで)280 (削除) acl->AceCount+=nrofaces; (削除ここまで)281 (削除) return 0; (削除ここまで)282 (削除) } (削除ここまで)283 (削除) (削除ここまで)284 (削除) /************************************************************************** (削除ここまで)285 (削除) * RtlCreateSecurityDescriptor [NTDLL] (削除ここまで)286 (削除) */ (削除ここまで)287 (削除) DWORD WIN32API RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR lpsd, (削除ここまで)288 (削除) DWORD rev) (削除ここまで)289 (削除) { (削除ここまで)290 (削除) dprintf(("NTDLL: RtlCreateSecurityDescriptor(%08x,%08x)\n", (削除ここまで)291 (削除) lpsd, (削除ここまで)292 (削除) rev)); (削除ここまで)293 (削除) (削除ここまで)294 (削除) if (rev!=SECURITY_DESCRIPTOR_REVISION) (削除ここまで)295 (削除) return STATUS_UNKNOWN_REVISION; (削除ここまで)296 (削除) (削除ここまで)297 (削除) memset(lpsd, (削除ここまで)298 (削除) '0円', (削除ここまで)299 (削除) sizeof(*lpsd)); (削除ここまで)300 (削除) lpsd->Revision = SECURITY_DESCRIPTOR_REVISION; (削除ここまで)301 (削除) return 0; (削除ここまで)302 (削除) } (削除ここまで)303 (削除) (削除ここまで)304 (削除) /************************************************************************** (削除ここまで)305 (削除) * RtlSetDaclSecurityDescriptor [NTDLL] (削除ここまで)306 (削除) */ (削除ここまで)307 (削除) DWORD WIN32API RtlSetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR lpsd, (削除ここまで)308 (削除) BOOL daclpresent, (削除ここまで)309 (削除) PACL dacl, (削除ここまで)310 (削除) BOOL dacldefaulted ) (削除ここまで)311 (削除) { (削除ここまで)312 (削除) dprintf(("NTDLL: RtlSetDaclSecurityDescriptor(%08x,%08x,%08x,%08x)\n", (削除ここまで)313 (削除) lpsd, (削除ここまで)314 (削除) daclpresent, (削除ここまで)315 (削除) dacl, (削除ここまで)316 (削除) dacldefaulted)); (削除ここまで)317 (削除) (削除ここまで)318 (削除) if (lpsd->Revision!=SECURITY_DESCRIPTOR_REVISION) (削除ここまで)319 (削除) return STATUS_UNKNOWN_REVISION; (削除ここまで)320 (削除) (削除ここまで)321 (削除) if (lpsd->Control & SE_SELF_RELATIVE) (削除ここまで)322 (削除) return STATUS_INVALID_SECURITY_DESCR; (削除ここまで)323 (削除) (削除ここまで)324 (削除) if (!daclpresent) (削除ここまで)325 (削除) { (削除ここまで)326 (削除) lpsd->Control &= ~SE_DACL_PRESENT; (削除ここまで)327 (削除) return 0; (削除ここまで)328 (削除) } (削除ここまで)329 (削除) (削除ここまで)330 (削除) lpsd->Control |= SE_DACL_PRESENT; (削除ここまで)331 (削除) lpsd->Dacl = dacl; (削除ここまで)332 (削除) (削除ここまで)333 (削除) if (dacldefaulted) (削除ここまで)334 (削除) lpsd->Control |= SE_DACL_DEFAULTED; (削除ここまで)335 (削除) else (削除ここまで)336 (削除) lpsd->Control &= ~SE_DACL_DEFAULTED; (削除ここまで)337 (削除) (削除ここまで)338 (削除) return 0; (削除ここまで)339 (削除) } (削除ここまで)340 (削除) (削除ここまで)341 (削除) /************************************************************************** (削除ここまで)342 (削除) * RtlSetSaclSecurityDescriptor [NTDLL] (削除ここまで)343 (削除) */ (削除ここまで)344 (削除) DWORD WIN32API RtlSetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR lpsd, (削除ここまで)345 (削除) BOOL saclpresent, (削除ここまで)346 (削除) PACL sacl, (削除ここまで)347 (削除) BOOL sacldefaulted) (削除ここまで)348 (削除) { (削除ここまで)349 (削除) dprintf(("NTDLL: RtlSetSaclSecurityDescriptor(%08x,%08x,%08x,%08x)\n", (削除ここまで)350 (削除) lpsd, (削除ここまで)351 (削除) saclpresent, (削除ここまで)352 (削除) sacl, (削除ここまで)353 (削除) sacldefaulted)); (削除ここまで)354 (削除) (削除ここまで)355 (削除) if (lpsd->Revision!=SECURITY_DESCRIPTOR_REVISION) (削除ここまで)356 (削除) return STATUS_UNKNOWN_REVISION; (削除ここまで)357 (削除) (削除ここまで)358 (削除) if (lpsd->Control & SE_SELF_RELATIVE) (削除ここまで)359 (削除) return STATUS_INVALID_SECURITY_DESCR; (削除ここまで)360 (削除) (削除ここまで)361 (削除) if (!saclpresent) (削除ここまで)362 (削除) { (削除ここまで)363 (削除) lpsd->Control &= ~SE_SACL_PRESENT; (削除ここまで)364 (削除) return 0; (削除ここまで)365 (削除) } (削除ここまで)366 (削除) (削除ここまで)367 (削除) lpsd->Control |= SE_SACL_PRESENT; (削除ここまで)368 (削除) lpsd->Sacl = sacl; (削除ここまで)369 (削除) (削除ここまで)370 (削除) if (sacldefaulted) (削除ここまで)371 (削除) lpsd->Control |= SE_SACL_DEFAULTED; (削除ここまで)372 (削除) else (削除ここまで)373 (削除) lpsd->Control &= ~SE_SACL_DEFAULTED; (削除ここまで)374 (削除) (削除ここまで)375 (削除) return 0; (削除ここまで)376 (削除) } (削除ここまで)377 (削除) (削除ここまで)378 (削除) /************************************************************************** (削除ここまで)379 (削除) * RtlSetOwnerSecurityDescriptor [NTDLL] (削除ここまで)380 (削除) */ (削除ここまで)381 (削除) DWORD WIN32API RtlSetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR lpsd, (削除ここまで)382 (削除) PSID owner, (削除ここまで)383 (削除) BOOL ownerdefaulted) (削除ここまで)384 (削除) { (削除ここまで)385 (削除) dprintf(("NTDLL: RtlSetOwnerSecurityDescriptor(%08x,%08x,%08x)\n", (削除ここまで)386 (削除) lpsd, (削除ここまで)387 (削除) owner, (削除ここまで)388 (削除) ownerdefaulted)); (削除ここまで)389 (削除) (削除ここまで)390 (削除) if (lpsd->Revision!=SECURITY_DESCRIPTOR_REVISION) (削除ここまで)391 (削除) return STATUS_UNKNOWN_REVISION; (削除ここまで)392 (削除) (削除ここまで)393 (削除) if (lpsd->Control & SE_SELF_RELATIVE) (削除ここまで)394 (削除) return STATUS_INVALID_SECURITY_DESCR; (削除ここまで)395 (削除) (削除ここまで)396 (削除) lpsd->Owner = owner; (削除ここまで)397 (削除) (削除ここまで)398 (削除) if (ownerdefaulted) (削除ここまで)399 (削除) lpsd->Control |= SE_OWNER_DEFAULTED; (削除ここまで)400 (削除) else (削除ここまで)401 (削除) lpsd->Control &= ~SE_OWNER_DEFAULTED; (削除ここまで)402 (削除) (削除ここまで)403 (削除) return 0; (削除ここまで)404 (削除) } (削除ここまで)405 (削除) (削除ここまで)406 (削除) /************************************************************************** (削除ここまで)407 (削除) * RtlSetOwnerSecurityDescriptor [NTDLL] (削除ここまで)408 (削除) */ (削除ここまで)409 (削除) DWORD WIN32API RtlSetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR lpsd, (削除ここまで)410 (削除) PSID group, (削除ここまで)411 (削除) BOOL groupdefaulted) (削除ここまで)412 (削除) { (削除ここまで)413 (削除) dprintf(("NTDLL: SetGroupSecurityDescriptor(%08x,%08x,%08x)\n", (削除ここまで)414 (削除) lpsd, (削除ここまで)415 (削除) group, (削除ここまで)416 (削除) groupdefaulted)); (削除ここまで)417 (削除) (削除ここまで)418 (削除) if (lpsd->Revision!=SECURITY_DESCRIPTOR_REVISION) (削除ここまで)419 (削除) return STATUS_UNKNOWN_REVISION; (削除ここまで)420 (削除) (削除ここまで)421 (削除) if (lpsd->Control & SE_SELF_RELATIVE) (削除ここまで)422 (削除) return STATUS_INVALID_SECURITY_DESCR; (削除ここまで)423 (削除) (削除ここまで)424 (削除) lpsd->Group = group; (削除ここまで)425 (削除) (削除ここまで)426 (削除) if (groupdefaulted) (削除ここまで)427 (削除) lpsd->Control |= SE_GROUP_DEFAULTED; (削除ここまで)428 (削除) else (削除ここまで)429 (削除) lpsd->Control &= ~SE_GROUP_DEFAULTED; (削除ここまで)430 (削除) (削除ここまで)431 (削除) return 0; (削除ここまで)432 (削除) } (削除ここまで)433 (削除) (削除ここまで)434 (削除) (削除ここまで)435 (削除) /************************************************************************** (削除ここまで)436 (削除) * RtlNormalizeProcessParams [NTDLL] (削除ここまで)437 (削除) */ (削除ここまで)438 (削除) LPVOID WIN32API RtlNormalizeProcessParams(LPVOID x) (削除ここまで)439 (削除) { (削除ここまで)440 (削除) dprintf(("NTDLL: RtlNormalizeProcessParams(%08xh)\n", (削除ここまで)441 (削除) x)); (削除ここまで)442 (削除) (削除ここまで)443 (削除) return x; (削除ここまで)444 (削除) } (削除ここまで)445 (削除) (削除ここまで)446 (削除) /************************************************************************** (削除ここまで)447 (削除) * RtlInitializeSid [NTDLL] (削除ここまで)448 (削除) */ (削除ここまで)449 (削除) DWORD WIN32API RtlInitializeSid(PSID PSID, (削除ここまで)450 (削除) PSID_IDENTIFIER_AUTHORITY PSIDauth, (削除ここまで)451 (削除) DWORD c) (削除ここまで)452 (削除) { (削除ここまで)453 (削除) BYTE a = c&0xff; (削除ここまで)454 (削除) (削除ここまで)455 (削除) dprintf(("NTDLL: RtlInitializeSid(%08x,%08x,%08x)\n", (削除ここまで)456 (削除) PSID, (削除ここまで)457 (削除) PSIDauth, (削除ここまで)458 (削除) c)); (削除ここまで)459 (削除) (削除ここまで)460 (削除) if (a>=SID_MAX_SUB_AUTHORITIES) (削除ここまで)461 (削除) return a; (削除ここまで)462 (削除) (削除ここまで)463 (削除) PSID->SubAuthorityCount = a; (削除ここまで)464 (削除) PSID->Revision = SID_REVISION; (削除ここまで)465 (削除) (削除ここまで)466 (削除) memcpy(&(PSID->IdentifierAuthority), (削除ここまで)467 (削除) PSIDauth, (削除ここまで)468 (削除) sizeof(SID_IDENTIFIER_AUTHORITY)); (削除ここまで)469 (削除) (削除ここまで)470 (削除) return 0; (削除ここまで)471 (削除) } (削除ここまで)472 (削除) (削除ここまで)473 (削除) /************************************************************************** (削除ここまで)474 (削除) * RtlSubAuthoritySid [NTDLL] (削除ここまで)475 (削除) */ (削除ここまで)476 (削除) LPDWORD WIN32API RtlSubAuthoritySid(PSID PSID, (削除ここまで)477 (削除) DWORD nr) (削除ここまで)478 (削除) { (削除ここまで)479 (削除) dprintf(("NTDLL: RtlSubAuthoritySid(%08x,%08d)\n", (削除ここまで)480 (削除) PSID, (削除ここまで)481 (削除) nr)); (削除ここまで)482 (削除) (削除ここまで)483 (削除) return &(PSID->SubAuthority[nr]); (削除ここまで)484 (削除) } (削除ここまで)485 (削除) (削除ここまで)486 (削除) /************************************************************************** (削除ここまで)487 (削除) * RtlSubAuthorityCountSid [NTDLL] (削除ここまで)488 (削除) */ (削除ここまで)489 (削除) LPBYTE WIN32API RtlSubAuthorityCountSid(PSID PSID) (削除ここまで)490 (削除) { (削除ここまで)491 (削除) dprintf(("NTDLL: RtlSubAuthorityCountSid(%08x)\n", (削除ここまで)492 (削除) PSID)); (削除ここまで)493 (削除) (削除ここまで)494 (削除) return ((LPBYTE)PSID)+1; (削除ここまで)495 (削除) } (削除ここまで)496 (削除) (削除ここまで)497 (削除) /************************************************************************** (削除ここまで)498 (削除) * RtlCopySid [NTDLL] (削除ここまで)499 (削除) */ (削除ここまで)500 (削除) DWORD WIN32API RtlCopySid(DWORD len, (削除ここまで)501 (削除) PSID to, (削除ここまで)502 (削除) PSID from) (削除ここまで)503 (削除) { (削除ここまで)504 (削除) dprintf(("NTDLL: RtlCopySid(%08x,%08x,%08x)\n", (削除ここまで)505 (削除) len, (削除ここまで)506 (削除) to, (削除ここまで)507 (削除) from)); (削除ここまで)508 (削除) (削除ここまで)509 (削除) if (len<(from->SubAuthorityCount*4+8)) (削除ここまで)510 (削除) return STATUS_BUFFER_TOO_SMALL; (削除ここまで)511 (削除) (削除ここまで)512 (削除) memmove(to, (削除ここまで)513 (削除) from, (削除ここまで)514 (削除) from->SubAuthorityCount*4+8); (削除ここまで)515 (削除) (削除ここまで)516 (削除) return STATUS_SUCCESS; (削除ここまで)517 (削除) } (削除ここまで)518 (削除) (削除ここまで)519 (削除) /************************************************************************** (削除ここまで)520 (削除) * RtlAnsiStringToUnicodeString [NTDLL] (削除ここまで)521 (削除) */ (削除ここまで)522 (削除) DWORD WIN32API RtlAnsiStringToUnicodeString(PUNICODE_STRING uni, (削除ここまで)523 (削除) PANSI_STRING ansi, (削除ここまで)524 (削除) BOOL doalloc) (削除ここまで)525 (削除) { (削除ここまで)526 (削除) DWORD unilen = (ansi->Length+1)*sizeof(WCHAR); (削除ここまで)527 (削除) (削除ここまで)528 (削除) dprintf(("NTDLL: RtlAnsiStringToUnicodeString(%08x,%s,%08x)\n", (削除ここまで)529 (削除) uni, (削除ここまで)530 (削除) ansi, (削除ここまで)531 (削除) doalloc)); (削除ここまで)532 (削除) (削除ここまで)533 (削除) if (unilen>0xFFFF) (削除ここまで)534 (削除) return STATUS_INVALID_PARAMETER_2; (削除ここまで)535 (削除) (削除ここまで)536 (削除) uni->Length = unilen; (削除ここまで)537 (削除) (削除ここまで)538 (削除) if (doalloc) (削除ここまで)539 (削除) { (削除ここまで)540 (削除) uni->MaximumLength = unilen; (削除ここまで)541 (削除) uni->Buffer = HeapAlloc(GetProcessHeap(), (削除ここまで)542 (削除) HEAP_ZERO_MEMORY, (削除ここまで)543 (削除) unilen); (削除ここまで)544 (削除) if (!uni->Buffer) (削除ここまで)545 (削除) return STATUS_NO_MEMORY; (削除ここまで)546 (削除) } (削除ここまで)547 (削除) (削除ここまで)548 (削除) if (unilen>uni->MaximumLength) (削除ここまで)549 (削除) return STATUS_BUFFER_OVERFLOW; (削除ここまで)550 (削除) (削除ここまで)551 (削除) lstrcpynAtoW(uni->Buffer, (削除ここまで)552 (削除) ansi->Buffer, (削除ここまで)553 (削除) unilen/2); (削除ここまで)554 (削除) (削除ここまで)555 (削除) return STATUS_SUCCESS; (削除ここまで)556 (削除) } (削除ここまで)557 (削除) (削除ここまで)558 (削除) /************************************************************************** (削除ここまで)559 (削除) * RtlOemStringToUnicodeString [NTDLL] (削除ここまで)560 (削除) */ (削除ここまで)561 (削除) DWORD WIN32API RtlOemStringToUnicodeString(PUNICODE_STRING uni, (削除ここまで)562 (削除) PSTRING ansi, (削除ここまで)563 (削除) BOOL doalloc) (削除ここまで)564 (削除) { (削除ここまで)565 (削除) DWORD unilen = (ansi->Length+1)*sizeof(WCHAR); (削除ここまで)566 (削除) (削除ここまで)567 (削除) dprintf(("NTDLL: RtlOemStringToUnicodeString (%08x,%s,%08x)\n", (削除ここまで)568 (削除) uni, (削除ここまで)569 (削除) ansi, (削除ここまで)570 (削除) doalloc)); (削除ここまで)571 (削除) (削除ここまで)572 (削除) if (unilen>0xFFFF) (削除ここまで)573 (削除) return STATUS_INVALID_PARAMETER_2; (削除ここまで)574 (削除) (削除ここまで)575 (削除) uni->Length = unilen; (削除ここまで)576 (削除) (削除ここまで)577 (削除) if (doalloc) (削除ここまで)578 (削除) { (削除ここまで)579 (削除) uni->MaximumLength = unilen; (削除ここまで)580 (削除) uni->Buffer = HeapAlloc(GetProcessHeap(), (削除ここまで)581 (削除) HEAP_ZERO_MEMORY, (削除ここまで)582 (削除) unilen); (削除ここまで)583 (削除) (削除ここまで)584 (削除) if (!uni->Buffer) (削除ここまで)585 (削除) return STATUS_NO_MEMORY; (削除ここまで)586 (削除) } (削除ここまで)587 (削除) (削除ここまで)588 (削除) if (unilen>uni->MaximumLength) (削除ここまで)589 (削除) return STATUS_BUFFER_OVERFLOW; (削除ここまで)590 (削除) (削除ここまで)591 (削除) lstrcpynAtoW(uni->Buffer, (削除ここまで)592 (削除) ansi->Buffer, (削除ここまで)593 (削除) unilen/2); (削除ここまで)594 (削除) (削除ここまで)595 (削除) return STATUS_SUCCESS; (削除ここまで)596 (削除) } (削除ここまで)597 (削除) (削除ここまで)598 (削除) (削除ここまで)599 (削除) /************************************************************************** (削除ここまで)600 (削除) * RtlMultiByteToUnicodeN [NTDLL] (削除ここまで)601 (削除) * FIXME: multibyte support (削除ここまで)602 (削除) */ (削除ここまで)603 (削除) DWORD WIN32API RtlMultiByteToUnicodeN(LPWSTR unistr, (削除ここまで)604 (削除) DWORD unilen, (削除ここまで)605 (削除) LPDWORD reslen, (削除ここまで)606 (削除) LPSTR oemstr, (削除ここまで)607 (削除) DWORD oemlen) (削除ここまで)608 (削除) { (削除ここまで)609 (削除) DWORD len; (削除ここまで)610 (削除) LPWSTR x; (削除ここまで)611 (削除) (削除ここまで)612 (削除) dprintf(("NTDLL: RtlMultiByteToUnicodeN(%08x,%08x,%08x,%s,%08x)\n", (削除ここまで)613 (削除) unistr, (削除ここまで)614 (削除) unilen, (削除ここまで)615 (削除) reslen, (削除ここまで)616 (削除) oemstr, (削除ここまで)617 (削除) oemlen)); (削除ここまで)618 (削除) (削除ここまで)619 (削除) len = oemlen; (削除ここまで)620 (削除) if (unilen/2 < len) (削除ここまで)621 (削除) len = unilen/2; (削除ここまで)622 (削除) (削除ここまで)623 (削除) x=(LPWSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)624 (削除) HEAP_ZERO_MEMORY, (削除ここまで)625 (削除) (len+1)*sizeof(WCHAR)); (削除ここまで)626 (削除) lstrcpynAtoW(x, (削除ここまで)627 (削除) oemstr, (削除ここまで)628 (削除) len+1); (削除ここまで)629 (削除) memcpy(unistr, (削除ここまで)630 (削除) x, (削除ここまで)631 (削除) len*2); (削除ここまで)632 (削除) (削除ここまで)633 (削除) if (reslen) (削除ここまで)634 (削除) *reslen = len*2; (削除ここまで)635 (削除) (削除ここまで)636 (削除) return 0; (削除ここまで)637 (削除) } (削除ここまで)638 (削除) (削除ここまで)639 (削除) /************************************************************************** (削除ここまで)640 (削除) * RtlOemToUnicodeN [NTDLL] (削除ここまで)641 (削除) */ (削除ここまで)642 (削除) DWORD WIN32API RtlOemToUnicodeN(LPWSTR unistr, (削除ここまで)643 (削除) DWORD unilen, (削除ここまで)644 (削除) LPDWORD reslen, (削除ここまで)645 (削除) LPSTR oemstr, (削除ここまで)646 (削除) DWORD oemlen) (削除ここまで)647 (削除) { (削除ここまで)648 (削除) DWORD len; (削除ここまで)649 (削除) LPWSTR x; (削除ここまで)650 (削除) (削除ここまで)651 (削除) dprintf(("NTDLL: RtlOemToUnicodeN(%08x,%08x,%08x,%s,%08x)\n", (削除ここまで)652 (削除) unistr, (削除ここまで)653 (削除) unilen, (削除ここまで)654 (削除) reslen, (削除ここまで)655 (削除) oemstr, (削除ここまで)656 (削除) oemlen)); (削除ここまで)657 (削除) (削除ここまで)658 (削除) len = oemlen; (削除ここまで)659 (削除) if (unilen/2 < len) (削除ここまで)660 (削除) len = unilen/2; (削除ここまで)661 (削除) (削除ここまで)662 (削除) x=(LPWSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)663 (削除) HEAP_ZERO_MEMORY, (削除ここまで)664 (削除) (len+1)*sizeof(WCHAR)); (削除ここまで)665 (削除) (削除ここまで)666 (削除) lstrcpynAtoW(x, (削除ここまで)667 (削除) oemstr, (削除ここまで)668 (削除) len+1); (削除ここまで)669 (削除) (削除ここまで)670 (削除) memcpy(unistr, (削除ここまで)671 (削除) x, (削除ここまで)672 (削除) len*2); (削除ここまで)673 (削除) (削除ここまで)674 (削除) if (reslen) (削除ここまで)675 (削除) *reslen = len*2; (削除ここまで)676 (削除) (削除ここまで)677 (削除) return 0; (削除ここまで)678 (削除) } (削除ここまで)679 (削除) (削除ここまで)680 (削除) /************************************************************************** (削除ここまで)681 (削除) * RtlInitString [NTDLL] (削除ここまで)682 (削除) */ (削除ここまで)683 (削除) VOID WIN32API RtlInitAnsiString(PANSI_STRING target, (削除ここまで)684 (削除) LPCSTR source) (削除ここまで)685 (削除) { (削除ここまで)686 (削除) dprintf(("NTDLL: RtlInitAnsiString(%08x,%08x)\n", (削除ここまで)687 (削除) target, (削除ここまで)688 (削除) source)); (削除ここまで)689 (削除) (削除ここまで)690 (削除) target->Length = target->MaximumLength = 0; (削除ここまで)691 (削除) target->Buffer = (LPSTR)source; (削除ここまで)692 (削除) if (!source) (削除ここまで)693 (削除) return; (削除ここまで)694 (削除) (削除ここまで)695 (削除) target->Length = lstrlenA(target->Buffer); (削除ここまで)696 (削除) target->MaximumLength = target->Length+1; (削除ここまで)697 (削除) } (削除ここまで)698 (削除) (削除ここまで)699 (削除) /************************************************************************** (削除ここまで)700 (削除) * RtlInitString [NTDLL] (削除ここまで)701 (削除) */ (削除ここまで)702 (削除) VOID WIN32API RtlInitString(PSTRING target, (削除ここまで)703 (削除) LPCSTR source) (削除ここまで)704 (削除) { (削除ここまで)705 (削除) dprintf(("NTDLL: RtlInitString(%08x,%08x)\n", (削除ここまで)706 (削除) target, (削除ここまで)707 (削除) source)); (削除ここまで)708 (削除) (削除ここまで)709 (削除) target->Length = target->MaximumLength = 0; (削除ここまで)710 (削除) target->Buffer = (LPSTR)source; (削除ここまで)711 (削除) if (!source) (削除ここまで)712 (削除) return; (削除ここまで)713 (削除) (削除ここまで)714 (削除) target->Length = lstrlenA(target->Buffer); (削除ここまで)715 (削除) target->MaximumLength = target->Length+1; (削除ここまで)716 (削除) } (削除ここまで)717 (削除) (削除ここまで)718 (削除) /************************************************************************** (削除ここまで)719 (削除) * RtlInitUnicodeString [NTDLL] (削除ここまで)720 (削除) */ (削除ここまで)721 (削除) VOID WIN32API RtlInitUnicodeString(PUNICODE_STRING target, (削除ここまで)722 (削除) LPCWSTR source) (削除ここまで)723 (削除) { (削除ここまで)724 (削除) dprintf(("NTDLL: RtlInitUnicodeString(%08x,%08x)\n", (削除ここまで)725 (削除) target, (削除ここまで)726 (削除) source)); (削除ここまで)727 (削除) (削除ここまで)728 (削除) target->Length = target->MaximumLength = 0; (削除ここまで)729 (削除) target->Buffer = (LPWSTR)source; (削除ここまで)730 (削除) if (!source) (削除ここまで)731 (削除) return; (削除ここまで)732 (削除) (削除ここまで)733 (削除) target->Length = lstrlenW(target->Buffer)*2; (削除ここまで)734 (削除) target->MaximumLength = target->Length+2; (削除ここまで)735 (削除) } (削除ここまで)736 (削除) (削除ここまで)737 (削除) /************************************************************************** (削除ここまで)738 (削除) * RtlFreeUnicodeString [NTDLL] (削除ここまで)739 (削除) */ (削除ここまで)740 (削除) VOID WIN32API RtlFreeUnicodeString(PUNICODE_STRING str) (削除ここまで)741 (削除) { (削除ここまで)742 (削除) dprintf(("NTDLL: RtlFreeUnicodeString(%08x)\n", (削除ここまで)743 (削除) str)); (削除ここまで)744 (削除) (削除ここまで)745 (削除) if (str->Buffer) (削除ここまで)746 (削除) HeapFree(GetProcessHeap(), (削除ここまで)747 (削除) 0, (削除ここまで)748 (削除) str->Buffer); (削除ここまで)749 (削除) } (削除ここまで)750 (削除) (削除ここまで)751 (削除) /************************************************************************** (削除ここまで)752 (削除) * RtlUnicodeToOemN [NTDLL] (削除ここまで)753 (削除) */ (削除ここまで)754 (削除) DWORD WIN32API RtlUnicodeToOemN(LPSTR oemstr, (削除ここまで)755 (削除) DWORD oemlen, (削除ここまで)756 (削除) LPDWORD reslen, (削除ここまで)757 (削除) LPWSTR unistr, (削除ここまで)758 (削除) DWORD unilen) (削除ここまで)759 (削除) { (削除ここまで)760 (削除) DWORD len; (削除ここまで)761 (削除) LPSTR x; (削除ここまで)762 (削除) (削除ここまで)763 (削除) dprintf(("NTDLL: RtlUnicodeToOemN (%08x,%08x,%08x,%08x,%08x)\n", (削除ここまで)764 (削除) oemstr, (削除ここまで)765 (削除) oemlen, (削除ここまで)766 (削除) reslen, (削除ここまで)767 (削除) unistr, (削除ここまで)768 (削除) unilen)); (削除ここまで)769 (削除) (削除ここまで)770 (削除) len = oemlen; (削除ここまで)771 (削除) if (unilen/2 < len) (削除ここまで)772 (削除) len = unilen/2; (削除ここまで)773 (削除) (削除ここまで)774 (削除) x=(LPSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)775 (削除) HEAP_ZERO_MEMORY, (削除ここまで)776 (削除) len+1); (削除ここまで)777 (削除) (削除ここまで)778 (削除) lstrcpynWtoA(x, (削除ここまで)779 (削除) unistr, (削除ここまで)780 (削除) len+1); (削除ここまで)781 (削除) (削除ここまで)782 (削除) memcpy(oemstr, (削除ここまで)783 (削除) x, (削除ここまで)784 (削除) len); (削除ここまで)785 (削除) (削除ここまで)786 (削除) if (reslen) (削除ここまで)787 (削除) *reslen = len; (削除ここまで)788 (削除) (削除ここまで)789 (削除) return 0; (削除ここまで)790 (削除) } (削除ここまで)791 (削除) (削除ここまで)792 (削除) /************************************************************************** (削除ここまで)793 (削除) * RtlUnicodeStringToOemString [NTDLL] (削除ここまで)794 (削除) */ (削除ここまで)795 (削除) DWORD WIN32API RtlUnicodeStringToOemString(PANSI_STRING oem, (削除ここまで)796 (削除) PUNICODE_STRING uni, (削除ここまで)797 (削除) BOOL alloc) (削除ここまで)798 (削除) { (削除ここまで)799 (削除) dprintf(("NTDLL: RtlUnicodeStringToOemString (%08x,%08x,%08x)\n", (削除ここまで)800 (削除) oem, (削除ここまで)801 (削除) uni, (削除ここまで)802 (削除) alloc)); (削除ここまで)803 (削除) (削除ここまで)804 (削除) if (alloc) (削除ここまで)805 (削除) { (削除ここまで)806 (削除) oem->Buffer = (LPSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)807 (削除) HEAP_ZERO_MEMORY, (削除ここまで)808 (削除) uni->Length/2)+1; (削除ここまで)809 (削除) oem->MaximumLength = uni->Length/2+1; (削除ここまで)810 (削除) } (削除ここまで)811 (削除) (削除ここまで)812 (削除) oem->Length = uni->Length/2; (削除ここまで)813 (削除) lstrcpynWtoA(oem->Buffer, (削除ここまで)814 (削除) uni->Buffer, (削除ここまで)815 (削除) uni->Length/2+1); (削除ここまで)816 (削除) (削除ここまで)817 (削除) return 0; (削除ここまで)818 (削除) } (削除ここまで)819 (削除) (削除ここまで)820 (削除) /************************************************************************** (削除ここまで)821 (削除) * RtlUnicodeStringToAnsiString [NTDLL] (削除ここまで)822 (削除) */ (削除ここまで)823 (削除) DWORD WIN32API RtlUnicodeStringToAnsiString(PUNICODE_STRING uni, (削除ここまで)824 (削除) PANSI_STRING oem, (削除ここまで)825 (削除) BOOL alloc) (削除ここまで)826 (削除) { (削除ここまで)827 (削除) dprintf(("NTDLL: RtlUnicodeStringToAnsiString(%08x,%08x,%08x)\n", (削除ここまで)828 (削除) uni, (削除ここまで)829 (削除) oem, (削除ここまで)830 (削除) alloc)); (削除ここまで)831 (削除) (削除ここまで)832 (削除) if (alloc) (削除ここまで)833 (削除) { (削除ここまで)834 (削除) oem->Buffer = (LPSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)835 (削除) HEAP_ZERO_MEMORY, (削除ここまで)836 (削除) uni->Length/2)+1; (削除ここまで)837 (削除) oem->MaximumLength = uni->Length/2+1; (削除ここまで)838 (削除) } (削除ここまで)839 (削除) (削除ここまで)840 (削除) oem->Length = uni->Length/2; (削除ここまで)841 (削除) lstrcpynWtoA(oem->Buffer, (削除ここまで)842 (削除) uni->Buffer, (削除ここまで)843 (削除) uni->Length/2+1); (削除ここまで)844 (削除) (削除ここまで)845 (削除) return 0; (削除ここまで)846 (削除) } (削除ここまで)847 (削除) (削除ここまで)848 (削除) /************************************************************************** (削除ここまで)849 (削除) * RtlNtStatusToDosErro [NTDLL] (削除ここまで)850 (削除) */ (削除ここまで)851 (削除) DWORD WIN32API RtlNtStatusToDosError(DWORD error) (削除ここまで)852 (削除) { (削除ここまで)853 (削除) dprintf(("NTDLL: RtlNtStatusToDosErro(%08x) not implemented properly.\n", (削除ここまで)854 (削除) error)); (削除ここまで)855 (削除) (削除ここまで)856 (削除) /* @@@PH: map STATUS_ to ERROR_ */ (削除ここまで)857 (削除) return error; (削除ここまで)858 (削除) } (削除ここまで)859 (削除) (削除ここまで)860 (削除) /************************************************************************** (削除ここまで)861 (削除) * RtlGetNtProductType [NTDLL] (削除ここまで)862 (削除) */ (削除ここまで)863 (削除) DWORD WIN32API RtlGetNtProductType(LPVOID x) (削除ここまで)864 (削除) { (削除ここまで)865 (削除) dprintf(("NTDLL: RtlGetNtProductType(%08x) not implemented.\n", (削除ここまで)866 (削除) x)); (削除ここまで)867 (削除) (削除ここまで)868 (削除) /* @@@PH : find documentation for this one */ (削除ここまで)869 (削除) return 0; (削除ここまで)870 (削除) } (削除ここまで)871 (削除) (削除ここまで)872 (削除) /************************************************************************** (削除ここまで)873 (削除) * RtlUpcaseUnicodeString [NTDLL] (削除ここまで)874 (削除) */ (削除ここまで)875 (削除) DWORD WIN32API RtlUpcaseUnicodeString(PUNICODE_STRING dest, (削除ここまで)876 (削除) PUNICODE_STRING src, (削除ここまで)877 (削除) BOOL doalloc) (削除ここまで)878 (削除) { (削除ここまで)879 (削除) LPWSTR s; (削除ここまで)880 (削除) LPWSTR t; (削除ここまで)881 (削除) DWORD i,len; (削除ここまで)882 (削除) (削除ここまで)883 (削除) dprintf(("NTDLL: RtlUpcaseUnicodeString(%08x,%08x,%08x)\n", (削除ここまで)884 (削除) dest, (削除ここまで)885 (削除) src, (削除ここまで)886 (削除) doalloc)); (削除ここまで)887 (削除) (削除ここまで)888 (削除) len = src->Length; (削除ここまで)889 (削除) if (doalloc) (削除ここまで)890 (削除) { (削除ここまで)891 (削除) dest->MaximumLength = len; (削除ここまで)892 (削除) dest->Buffer = (LPWSTR)HeapAlloc(GetProcessHeap(), (削除ここまで)893 (削除) HEAP_ZERO_MEMORY, (削除ここまで)894 (削除) len); (削除ここまで)895 (削除) if (!dest->Buffer) (削除ここまで)896 (削除) return STATUS_NO_MEMORY; (削除ここまで)897 (削除) } (削除ここまで)898 (削除) (削除ここまで)899 (削除) if (dest->MaximumLength < len) (削除ここまで)900 (削除) return STATUS_BUFFER_OVERFLOW; (削除ここまで)901 (削除) (削除ここまで)902 (削除) s=dest->Buffer; (削除ここまで)903 (削除) t=src->Buffer; (削除ここまで)904 (削除) (削除ここまで)905 (削除) /* len is in bytes */ (削除ここまで)906 (削除) for (i=0; (削除ここまで)907 (削除) i<len/2; (削除ここまで)908 (削除) i++) (削除ここまで)909 (削除) s[i]=toupper(t[i]); (削除ここまで)910 (削除) (削除ここまで)911 (削除) return STATUS_SUCCESS; (削除ここまで)912 (削除) } (削除ここまで)913 (削除) (削除ここまで)914 (削除) /************************************************************************** (削除ここまで)915 (削除) * RtlxOemStringToUnicodeSize [NTDLL] (削除ここまで)916 (削除) */ (削除ここまで)917 (削除) UINT WIN32API RtlxOemStringToUnicodeSize(PSTRING str) (削除ここまで)918 (削除) { (削除ここまで)919 (削除) dprintf(("NTDLL: RtlxOemStringToUnicodeSize(%08x)\n", (削除ここまで)920 (削除) str)); (削除ここまで)921 (削除) (削除ここまで)922 (削除) return str->Length*2+2; (削除ここまで)923 (削除) } (削除ここまで)924 (削除) (削除ここまで)925 (削除) /************************************************************************** (削除ここまで)926 (削除) * RtlxAnsiStringToUnicodeSize [NTDLL] (削除ここまで)927 (削除) */ (削除ここまで)928 (削除) UINT WIN32API RtlxAnsiStringToUnicodeSize(PANSI_STRING str) (削除ここまで)929 (削除) { (削除ここまで)930 (削除) dprintf(("NTDLL: RtlxAnsiStringToUnicodeSize(%08x)\n", (削除ここまで)931 (削除) str)); (削除ここまで)932 (削除) (削除ここまで)933 (削除) return str->Length*2+2; (削除ここまで)934 (削除) } (削除ここまで)935 (削除) (削除ここまで)936 (削除) /************************************************************************** (削除ここまで)937 (削除) * RtlDosPathNameToNtPathName_U [NTDLL] (削除ここまで)938 (削除) * (削除ここまで)939 (削除) * FIXME: convert to UNC or whatever is expected here (削除ここまで)940 (削除) */ (削除ここまで)941 (削除) BOOL WIN32API RtlDosPathNameToNtPathName_U( (削除ここまで)942 (削除) LPWSTR from,PUNICODE_STRING us,DWORD x2,DWORD x3) (削除ここまで)943 (削除) { (削除ここまで)944 (削除) LPSTR fromA = HEAP_strdupWtoA(GetProcessHeap(), (削除ここまで)945 (削除) 0, (削除ここまで)946 (削除) from); (削除ここまで)947 (削除) (削除ここまで)948 (削除) dprintf(("NTDLL: RtlDosPathNameToNtPathName_U(%s,%p,%08lx,%08lx)\n", (削除ここまで)949 (削除) fromA, (削除ここまで)950 (削除) us, (削除ここまで)951 (削除) x2, (削除ここまで)952 (削除) x3)); (削除ここまで)953 (削除) (削除ここまで)954 (削除) if (us) (削除ここまで)955 (削除) RtlInitUnicodeString(us, (削除ここまで)956 (削除) HEAP_strdupW(GetProcessHeap(), (削除ここまで)957 (削除) 0, (削除ここまで)958 (削除) from)); (削除ここまで)959 (削除) (削除ここまで)960 (削除) return TRUE; (削除ここまで)961 (削除) } (削除ここまで)962 (削除) (削除ここまで)963 (削除) /************************************************************************** (削除ここまで)964 (削除) * NtOpenFile [NTDLL] (削除ここまで)965 (削除) */ (削除ここまで)966 (削除) DWORD WIN32API NtOpenFile(DWORD x1, (削除ここまで)967 (削除) DWORD flags, (削除ここまで)968 (削除) DWORD x3, (削除ここまで)969 (削除) DWORD x4, (削除ここまで)970 (削除) DWORD alignment, (削除ここまで)971 (削除) DWORD x6) (削除ここまで)972 (削除) { (削除ここまで)973 (削除) dprintf(("NTDLL: NtOpenFile (%08lx,%08lx,%08lx,%08lx,%08lx,%08lx) not implemented\n", (削除ここまで)974 (削除) x1, (削除ここまで)975 (削除) flags, (削除ここまで)976 (削除) x3, (削除ここまで)977 (削除) x4, (削除ここまで)978 (削除) alignment, (削除ここまで)979 (削除) x6)); (削除ここまで)980 (削除) (削除ここまで)981 (削除) /* returns file io completion status */ (削除ここまで)982 (削除) return 0; (削除ここまで)983 (削除) } (削除ここまで)984 (削除) (削除ここまで)985 (削除) (削除ここまで)986 (削除) //****************************************************************************** (削除ここまで)987 (削除) //NtClose has to call CloseHandle since the Handlemanager has to be (削除ここまで)988 (削除) //called. (削除ここまで)989 (削除) //****************************************************************************** (削除ここまで)990 (削除) DWORD WIN32API NtClose(HANDLE hHandle) (削除ここまで)991 (削除) { (削除ここまで)992 (削除) dprintf(("KERNEL32: NtClose(%08x) not properly implemented.\n", (削除ここまで)993 (削除) hHandle)); (削除ここまで)994 (削除) (削除ここまで)995 (削除) /* @@@PH 98/05/05 function from NTDLL */ (削除ここまで)996 (削除) return (CloseHandle(hHandle)); (削除ここまで)997 (削除) } (削除ここまで)998 (削除) (削除ここまで)999 (削除) (削除ここまで)1000 (削除) //****************************************************************************** (削除ここまで)1001 (削除) //TODO: What's this? (not found in SDK) (削除ここまで)1002 (削除) //****************************************************************************** (削除ここまで)1003 (削除) HANDLE WIN32API RtlOpenCurrentUser(ULONG ulDummy1, (削除ここまで)1004 (削除) ULONG ulDummy2) (削除ここまで)1005 (削除) { (削除ここまで)1006 (削除) dprintf(("KERNEL32: RtlOpenCurrentUser(%08x, %08x) not implemented.\n", (削除ここまで)1007 (削除) ulDummy1, (削除ここまで)1008 (削除) ulDummy2)); (削除ここまで)1009 (削除) (削除ここまで)1010 (削除) /* @@@PH required by NT's MSACM32 */ (削除ここまで)1011 (削除) return (HANDLE)(NULL); (削除ここまで)1012 (削除) } (削除ここまで) -
/trunk/src/NTDLL/ntdll.def
r20 r30 30 30 31 31 ; real functions 32 NtClose = _NtClose@4 @1300 33 RtlOpenCurrentUser = _RtlOpenCurrentUser@8 @1301 34 RtlLengthRequiredSid = _RtlLengthRequiredSid@4 @1302 35 RtlLengthSid = _RtlLengthSid@4 @1303 36 RtlCreateAcl = _RtlCreateAcl@12 @1304 37 RtlFirstFreeAce = _RtlFirstFreeAce@8 @1305 38 RtlAddAce = _RtlAddAce@20 @1306 39 RtlCreateSecurityDescriptor = _RtlCreateSecurityDescriptor@8 @1307 40 RtlSetDaclSecurityDescriptor = _RtlSetDaclSecurityDescriptor@16 @1308 41 RtlSetSaclSecurityDescriptor = _RtlSetSaclSecurityDescriptor@16 @1309 42 RtlSetOwnerSecurityDescriptor = _RtlSetOwnerSecurityDescriptor@12 @1310 43 RtlSetGroupSecurityDescriptor = _RtlSetGroupSecurityDescriptor@12 @1311 44 RtlNormalizeProcessParams = _RtlNormalizeProcessParams@4 @1312 45 RtlInitializeSid = _RtlInitializeSid@12 @1313 46 RtlSubAuthoritySid = _RtlSubAuthoritySid@8 @1314 47 RtlSubAuthorityCountSid = _RtlSubAuthorityCountSid@4 @1315 48 RtlCopySid = _RtlCopySid@12 @1316 49 RtlAnsiStringToUnicodeString = _RtlAnsiStringToUnicodeString@12 @1317 50 RtlOemStringToUnicodeString = _RtlOemStringToUnicodeString@12 @1318 51 RtlMultiByteToUnicodeN = _RtlMultiByteToUnicodeN@20 @1319 52 RtlOemToUnicodeN = _RtlOemToUnicodeN@20 @1320 53 RtlInitAnsiString = _RtlInitAnsiString@8 @1321 54 RtlInitString = _RtlInitString@8 @1322 55 RtlInitUnicodeString = _RtlInitUnicodeString@8 @1323 56 RtlFreeUnicodeString = _RtlFreeUnicodeString@4 @1324 57 RtlUnicodeToOemN = _RtlUnicodeToOemN@20 @1325 58 RtlUnicodeStringToOemString = _RtlUnicodeStringToOemString@12 @1326 59 RtlUnicodeStringToAnsiString = _RtlUnicodeStringToAnsiString@12 @1327 60 RtlNtStatusToDosError = _RtlNtStatusToDosError@4 @1328 61 RtlGetNtProductType = _RtlGetNtProductType@4 @1329 62 RtlUpcaseUnicodeString = _RtlUpcaseUnicodeString@12 @1330 63 RtlxOemStringToUnicodeSize = _RtlxOemStringToUnicodeSize@4 @1331 64 RtlxAnsiStringToUnicodeSize = _RtlxAnsiStringToUnicodeSize@4 @1332 65 RtlDosPathNameToNtPathName_U = _RtlDosPathNameToNtPathName_U@16 @1333 66 NtOpenFile = _NtOpenFile@24 @1334 67 68 32 NtOpenFile = _NtOpenFile@24 @127 33 ZwOpenFile = _NtOpenFile@24 34 NtCreateFile = _NtCreateFile@44 @73 35 ZwCreateFile = _NtCreateFile@44 36 NtReadFile = _NtReadFile@36 37 ZwReadFile = _NtReadFile@36 38 NtDeviceIoControlFile = _NtDeviceIoControlFile@40 @94 39 ZwDeviceIoControlFile = _NtDeviceIoControlFile@40 40 NtFsControlFile = _NtFsControlFile@40 @108 41 ZwFsControlFile = _NtFsControlFile@40 42 NtSetVolumeInformationFile = _NtSetVolumeInformationFile@16 43 ZwSetVolumeInformationFile = _NtSetVolumeInformationFile@16 44 NtQueryInformationFile = _NtQueryInformationFile@20 45 ZwQueryInformationFile = _NtQueryInformationFile@20 46 NtSetInformationFile = _NtSetInformationFile@20 47 ZwSetInformationFile = _NtSetInformationFile@20 48 NtQueryDirectoryFile = _NtQueryDirectoryFile@44 49 ZwQueryDirectoryFile = _NtQueryDirectoryFile@44 50 NtClose = _NtClose@4 @65 51 ZwClose = _NtClose@4 52 NtCreateTimer = _NtCreateTimer@16 @87 53 ZwCreateTimer = _NtCreateTimer@16 54 NtSetTimer = _NtSetTimer@28 @221 55 ZwSetTimer = _NtSetTimer@28 56 NtQueryTimerResolution = _NtQueryTimerResolution@12 57 ZwQueryTimerResolution = _NtQueryTimerResolution@12 58 NtTerminateProcess = _NtTerminateProcess@8 59 ZwTerminateProcess = _NtTerminateProcess@8 60 NtQueryInformationProcess = _NtQueryInformationProcess@20 61 ZwQueryInformationProcess = _NtQueryInformationProcess@20 62 NtSetInformationProcess = _NtSetInformationProcess@16 @207 63 ZwSetInformationProcess = _NtSetInformationProcess@16 64 NtResumeThread = _NtResumeThread@8 65 ZwResumeThread = _NtResumeThread@8 66 NtTerminateThread = _NtTerminateThread@8 67 ZwTerminateThread = _NtTerminateThread@8 68 NtQueryInformationThread = _NtQueryInformationThread@20 69 ZwQueryInformationThread = _NtQueryInformationThread@20 70 NtSetInformationThread = _NtSetInformationThread@16 71 ZwSetInformationThread = _NtSetInformationThread@16 72 NtDuplicateToken = _NtDuplicateToken@24 73 ZwDuplicateToken = _NtDuplicateToken@24 74 NtOpenProcessToken = _NtOpenProcessToken@12 75 ZwOpenProcessToken = _NtOpenProcessToken@12 76 NtOpenThreadToken = _NtOpenThreadToken@16 77 ZwOpenThreadToken = _NtOpenThreadToken@16 78 NtAdjustPrivilegesToken = _NtAdjustPrivilegesToken@24 79 ZwAdjustPrivilegesToken = _NtAdjustPrivilegesToken@24 80 NtQueryInformationToken = _NtQueryInformationToken@20 @156 81 ZwQueryInformationToken = _NtQueryInformationToken@20 82 NtCreateSection = _NtCreateSection@28 83 ZwCreateSection = _NtCreateSection@28 84 NtOpenSection = _NtOpenSection@12 85 ZwOpenSection = _NtOpenSection@12 86 NtQuerySection = _NtQuerySection@20 87 ZwQuerySection = _NtQuerySection@20 88 NtMapViewOfSection = _NtMapViewOfSection@40 89 ZwMapViewOfSection = _NtMapViewOfSection@40 90 NtCreatePort = _NtCreatePort@20 91 ZwCreatePort = _NtCreatePort@20 92 NtConnectPort = _NtConnectPort@32 93 ZwConnectPort = _NtConnectPort@32 94 NtListenPort = _NtListenPort@8 95 ZwListenPort = _NtListenPort@8 96 NtAcceptConnectPort = _NtAcceptConnectPort@24 97 ZwAcceptConnectPort = _NtAcceptConnectPort@24 98 NtCompleteConnectPort = _NtCompleteConnectPort@4 99 ZwCompleteConnectPort = _NtCompleteConnectPort@4 100 NtRegisterThreadTerminatePort = _NtRegisterThreadTerminatePort@4 101 ZwRegisterThreadTerminatePort = _NtRegisterThreadTerminatePort@4 102 NtRequestWaitReplyPort = _NtRequestWaitReplyPort@12 103 ZwRequestWaitReplyPort = _NtRequestWaitReplyPort@12 104 NtReplyWaitReceivePort = _NtReplyWaitReceivePort@16 105 ZwReplyWaitReceivePort = _NtReplyWaitReceivePort@16 106 NtSetIntervalProfile = _NtSetIntervalProfile@8 107 ZwSetIntervalProfile = _NtSetIntervalProfile@8 108 NtQueryPerformanceCounter = _NtQueryPerformanceCounter@8 109 ZwQueryPerformanceCounter = _NtQueryPerformanceCounter@8 110 NtCreateMailslotFile = _NtCreateMailslotFile@32 111 ZwCreateMailslotFile = _NtCreateMailslotFile@32 112 NtQuerySystemInformation = _NtQuerySystemInformation@16 @95 113 ZwQuerySystemInformation = _NtQuerySystemInformation@16 114 NtCreatePagingFile = _NtCreatePagingFile@16 115 ZwCreatePagingFile = _NtCreatePagingFile@16 116 NtDisplayString = _NtDisplayString@4 117 ZwDisplayString = _NtDisplayString@4 118 119 NtCreateSemaphore = _NtCreateSemaphore@20 120 ZwCreateSemaphore = _NtCreateSemaphore@20 121 NtOpenSemaphore = _NtOpenSemaphore@12 122 ZwOpenSemaphore = _NtOpenSemaphore@12 123 NtQuerySemaphore = _NtQuerySemaphore@20 124 ZwQuerySemaphore = _NtQuerySemaphore@20 125 NtReleaseSemaphore = _NtReleaseSemaphore@12 126 ZwReleaseSemaphore = _NtReleaseSemaphore@12 127 NtCreateEvent = _NtCreateEvent@20 128 ZwCreateEvent = _NtCreateEvent@20 129 NtOpenEvent = _NtOpenEvent@12 130 ZwOpenEvent = _NtOpenEvent@12 131 NtSetEvent = _NtSetEvent@8 132 ZwSetEvent = _NtSetEvent@8 133 134 NtQueryObject = _NtQueryObject@20 @161 135 ZwQueryObject = _NtQueryObject@20 136 NtQuerySecurityObject = _NtQuerySecurityObject@20 137 ZwQuerySecurityObject = _NtQuerySecurityObject@20 138 NtDuplicateObject = _NtDuplicateObject@28 139 ZwDuplicateObject = _NtDuplicateObject@28 140 NtWaitForSingleObject = _NtWaitForSingleObject@12 141 ZwWaitForSingleObject = _NtWaitForSingleObject@12 142 NtOpenDirectoryObject = _NtOpenDirectoryObject@12 @124 143 ZwOpenDirectoryObject = _NtOpenDirectoryObject@12 144 NtCreateDirectoryObject = _NtCreateDirectoryObject@12 145 ZwCreateDirectoryObject = _NtCreateDirectoryObject@12 146 NtQueryDirectoryObject = _NtQueryDirectoryObject@28 @149 147 ZwQueryDirectoryObject = _NtQueryDirectoryObject@28 148 NtOpenSymbolicLinkObject = _NtQuerySymbolicLinkObject@12 149 ZwOpenSymbolicLinkObject = _NtQuerySymbolicLinkObject@12 150 NtCreateSymbolicLinkObject = _NtCreateSymbolicLinkObject@16 151 ZwCreateSymbolicLinkObject = _NtCreateSymbolicLinkObject@16 152 NtQuerySymbolicLinkObject = _NtQuerySymbolicLinkObject@12 153 ZwQuerySymbolicLinkObject = _NtQuerySymbolicLinkObject@12 154 155 NtCreateKey = _NtCreateKey@28 156 ZwCreateKey = _NtCreateKey@28 157 NtDeleteKey = _NtDeleteKey@4 158 ZwDeleteKey = _NtDeleteKey@4 159 NtDeleteValueKey = _NtDeleteValueKey@8 160 ZwDeleteValueKey = _NtDeleteValueKey@8 161 NtEnumerateKey = _NtEnumerateKey@24 162 ZwEnumerateKey = _NtEnumerateKey@24 163 NtEnumerateValueKey = _NtEnumerateValueKey@24 164 ZwEnumerateValueKey = _NtEnumerateValueKey@24 165 NtFlushKey = _NtFlushKey@4 166 ZwFlushKey = _NtFlushKey@4 167 NtLoadKey = _NtLoadKey@8 168 ZwLoadKey = _NtLoadKey@8 169 NtNotifyChangeKey = _NtNotifyChangeKey@40 170 ZwNotifyChangeKey = _NtNotifyChangeKey@40 171 NtOpenKey = _NtOpenKey@12 @129 172 ZwOpenKey = _NtOpenKey@12 173 NtQueryKey = _NtQueryKey@20 174 ZwQueryKey = _NtQueryKey@20 175 NtQueryMultipleValueKey = _NtQueryMultipleValueKey@24 176 ZwQueryMultipleValueKey = _NtQueryMultipleValueKey@24 177 NtReplaceKey = _NtReplaceKey@12 178 ZwReplaceKey = _NtReplaceKey@12 179 NtRestoreKey = _NtRestoreKey@12 180 ZwRestoreKey = _NtRestoreKey@12 181 NtSaveKey = _NtSaveKey@8 182 ZwSaveKey = _NtSaveKey@8 183 NtSetInformationKey = _NtSetInformationKey@16 184 ZwSetInformationKey = _NtSetInformationKey@16 185 NtSetValueKey = _NtSetValueKey@24 186 ZwSetValueKey = _NtSetValueKey@24 187 NtUnloadKey = _NtUnloadKey@4 188 ZwUnloadKey = _NtUnloadKey@4 189 190 RtlAllocateAndInitializeSid = _RtlAllocateAndInitializeSid@44 @265 191 RtlEqualSid = _RtlEqualSid@8 @352 192 RtlFreeSid = _RtlFreeSid@4 @376 193 RtlLengthRequiredSid = _RtlLengthRequiredSid@4 @427 194 RtlLengthSid = _RtlLengthSid@4 @429 195 RtlInitializeSid = _RtlInitializeSid@12 @410 196 RtlSubAuthoritySid = _RtlSubAuthoritySid@8 @497 197 RtlSubAuthorityCountSid = _RtlSubAuthorityCountSid@4 @496 198 RtlCopySid = _RtlCopySid@12 @302 199 RtlCreateSecurityDescriptor = _RtlCreateSecurityDescriptor@8 @313 200 RtlValidSecurityDescriptor = _RtlValidSecurityDescriptor@4 201 RtlLengthSecurityDescriptor = _RtlLengthSecurityDescriptor@4 202 RtlGetDaclSecurityDescriptor = _RtlGetDaclSecurityDescriptor@16 203 RtlSetDaclSecurityDescriptor = _RtlSetDaclSecurityDescriptor@16 @483 204 RtlGetSaclSecurityDescriptor = _RtlGetSaclSecurityDescriptor@16 205 RtlSetSaclSecurityDescriptor = _RtlSetSaclSecurityDescriptor@16 206 RtlGetOwnerSecurityDescriptor = _RtlGetOwnerSecurityDescriptor@12 @488 207 RtlSetOwnerSecurityDescriptor = _RtlSetOwnerSecurityDescriptor@12 @487 208 RtlSetGroupSecurityDescriptor = _RtlSetGroupSecurityDescriptor@12 @485 209 RtlGetGroupSecurityDescriptor = _RtlGetGroupSecurityDescriptor@12 210 RtlCreateAcl = _RtlCreateAcl@12 @306 211 RtlFirstFreeAce = _RtlFirstFreeAce@8 @370 212 RtlAddAce = _RtlAddAce@20 @260 213 RtlAddAccessAllowedAce = _RtlAddAccessAllowedAce@16 214 RtlGetAce = _RtlGetAce@12 215 RtlAdjustPrivilege = _RtlAdjustPrivilege@16 216 217 RtlAnsiStringToUnicodeString = _RtlAnsiStringToUnicodeString@12 @269 218 RtlOemStringToUnicodeString = _RtlOemStringToUnicodeString@12 @447 219 RtlMultiByteToUnicodeN = _RtlMultiByteToUnicodeN@20 @446 220 RtlOemToUnicodeN = _RtlOemToUnicodeN@20 @448 221 RtlInitAnsiString = _RtlInitAnsiString@8 @399 222 RtlInitString = _RtlInitString@8 @402 223 RtlInitUnicodeString = _RtlInitUnicodeString@8 @403 224 RtlFreeUnicodeString = _RtlFreeUnicodeString@4 @377 225 RtlFreeAnsiString = _RtlFreeAnsiString@4 @373 226 RtlUnicodeToOemN = _RtlUnicodeToOemN@20 @515 227 RtlUnicodeStringToOemString = _RtlUnicodeStringToOemString@12 @511 228 RtlUnicodeStringToAnsiString = _RtlUnicodeStringToAnsiString@12 @507 229 RtlEqualUnicodeString = _RtlEqualUnicodeString@12 230 RtlUpcaseUnicodeString = _RtlUpcaseUnicodeString@12 @520 231 RtlxOemStringToUnicodeSize = _RtlxOemStringToUnicodeSize@4 @549 232 RtlxAnsiStringToUnicodeSize = _RtlxAnsiStringToUnicodeSize@4 @548 233 RtlIsTextUnicode = _RtlIsTextUnicode@12 @417 234 RtlCompareUnicodeString = _RtlCompareUnicodeString@12 235 236 RtlInitializeResource = _RtlInitializeResource@4 @409 237 RtlDeleteResource = _RtlDeleteResource@4 @330 238 RtlAcquireResourceExclusive = _RtlAcquireResourceExclusive@8 @256 239 RtlAcquireResourceShared = _RtlAcquireResourceShared@8 @257 240 RtlReleaseResource = _RtlReleaseResource@4 @471 241 RtlDumpResource = _RtlDumpResource@4 @340 242 RtlCreateHeap = _RtlCreateHeap@24 243 RtlAllocateHeap = _RtlAllocateHeap@12 244 RtlFreeHeap = _RtlFreeHeap@12 245 RtlDestroyHeap = _RtlDestroyHeap@4 246 ; DbgPrint = _DbgPrint@8 247 248 ; NtRaiseException = _NtRaiseException@16 249 ; ZwRaiseException = _NtRaiseException@16 250 ; RtlRaiseException = _RtlRaiseException@4 251 RtlAcquirePebLock = _RtlAcquirePebLock@0 252 RtlReleasePebLock = _RtlReleasePebLock@0 253 RtlIntegerToChar = _RtlIntegerToChar@16 254 RtlSetEnvironmentVariable = _RtlSetEnvironmentVariable@12 255 RtlNewSecurityObject = _RtlNewSecurityObject@24 256 RtlDeleteSecurityObject = _RtlDeleteSecurityObject@4 257 RtlNormalizeProcessParams = _RtlNormalizeProcessParams@4 @441 258 RtlNtStatusToDosError = _RtlNtStatusToDosError@4 @442 259 RtlGetNtProductType = _RtlGetNtProductType@4 @390 260 RtlExtendedLargeIntegerDivide = _RtlExtendedLargeIntegerDivide@16 @359 261 ; RtlExtendedLargeIntegerMultiply 262 RtlFormatCurrentUserKeyPath = _RtlFormatCurrentUserKeyPath@4 @371 263 RtlOpenCurrentUser = _RtlOpenCurrentUser@8 264 RtlDosPathNameToNtPathName_U = _RtlDosPathNameToNtPathName_U@16 @338 265 RtlCreateEnvironment = _RtlCreateEnvironment@8 266 RtlDestroyEnvironment = _RtlDestroyEnvironment@4 267 RtlQueryEnvironmentVariable_U = _RtlQueryEnvironmentVariable_U@12 268 269 RtlSystemTimeToLocalTime = _RtlSystemTimeToLocalTime@8 270 RtlTimeToSecondsSince1980 = _RtlTimeToSecondsSince1980@8 271 RtlTimeToSecondsSince1970 = _RtlTimeToSecondsSince1970@8 272 RtlTimeToElapsedTimeFields = _RtlTimeToElapsedTimeFields@8 273 -
/trunk/src/NTDLL/ntdll.h
r20 r30 1 /* $Id: ntdll.h,v 1.1 1999年05月24日 20:19:32 ktk Exp $ */ 2 3 /* 4 * 5 * Project Odin Software License can be found in LICENSE.TXT 6 * 7 */ 8 /* 9 * Win32 NT Runtime for OS/2 10 * 11 * 1998年05月20日 Patrick Haller (haller@zebra.fh-weingarten.de) 12 * 13 * @(#) ntdll.cpp 1.0.0 1998年05月20日 PH Start from WINE/NTDLL.C 14 * 15 * NT basis DLL 16 * 17 * Copyright 1996 Marcus Meissner 18 * Copyright 1988 Patrick Haller (adapted for win32os2) 19 */ 20 21 /* Changes to the original NTDLL.C from the WINE project 22 23 - includes replaced by the win32os2 standard includes 24 - replaced WINAPI by WIN32API 25 - moved in some string functions 26 - replaced HANDLE32 by HANDLE 27 - lstrlen32A -> OS2lstrlenA 28 - lstrlen32W -> OS2lstrlenW 1 /* 2 this file defines interfaces mainly exposed to device drivers and 3 native nt dll's 4 29 5 */ 30 31 #ifndef _WINNT_ 32 #define _WINNT_ 6 #ifndef __WINE_NTDDK_H 7 #define __WINE_NTDDK_H 8 9 #include <os2win.h> 10 #include <misc.h> 11 12 #include <ntdef.h> 13 #include <winnt.h> 14 #include "winbase.h" /* fixme: should be taken out sometimes */ 33 15 34 16 #ifdef __cplusplus 35 17 extern "C" { 36 18 #endif 37 38 39 #include "win32type.h" 40 41 typedef unsigned short int UINT16; 42 typedef unsigned long int UINT32; 43 typedef short int INT16; 44 typedef long int INT32; 45 46 47 /* Security Ids of NT */ 48 typedef struct { 49 BYTE Value[6]; 50 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; 51 52 typedef struct _SID { 53 BYTE Revision; 54 BYTE SubAuthorityCount; 55 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 56 DWORD SubAuthority[1]; 57 } SID,*PSID,*LPSID; 58 59 #define SID_REVISION (1) /* Current revision */ 60 #define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */ 61 #define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths */ 62 63 /* ACLs of NT */ 64 65 #define ACL_REVISION 2 66 67 #define ACL_REVISION1 1 68 #define ACL_REVISION2 2 69 70 typedef struct _ACL { 71 BYTE AclRevision; 72 BYTE Sbz1; 73 WORD AclSize; 74 WORD AceCount; 75 WORD Sbz2; 76 } ACL,*LPACL; 77 78 /* ACEs, directly starting after an ACL */ 79 typedef struct _ACE_HEADER { 80 BYTE AceType; 81 BYTE AceFlags; 82 WORD AceSize; 83 } ACE_HEADER,*LPACE_HEADER; 84 85 /* AceType */ 86 #define ACCESS_ALLOWED_ACE_TYPE 0 87 #define ACCESS_DENIED_ACE_TYPE 1 88 #define SYSTEM_AUDIT_ACE_TYPE 2 89 #define SYSTEM_ALARM_ACE_TYPE 3 90 91 /* inherit AceFlags */ 92 #define OBJECT_INHERIT_ACE 0x01 93 #define CONTAINER_INHERIT_ACE 0x02 94 #define NO_PROPAGATE_INHERIT_ACE 0x04 95 #define INHERIT_ONLY_ACE 0x08 96 #define VALID_INHERIT_FLAGS 0x0F 97 98 /* AceFlags mask for what events we (should) audit */ 99 #define SUCCESSFUL_ACCESS_ACE_FLAG 0x40 100 #define FAILED_ACCESS_ACE_FLAG 0x80 101 102 /* different ACEs depending on AceType 103 * SidStart marks the begin of a SID 104 * so the thing finally looks like this: 105 * 0: ACE_HEADER 106 * 4: ACCESS_MASK 107 * 8... : SID 108 */ 109 typedef struct _ACCESS_ALLOWED_ACE { 110 ACE_HEADER Header; 111 DWORD Mask; 112 DWORD SidStart; 113 } ACCESS_ALLOWED_ACE,*LPACCESS_ALLOWED_ACE; 114 115 typedef struct _ACCESS_DENIED_ACE { 116 ACE_HEADER Header; 117 DWORD Mask; 118 DWORD SidStart; 119 } ACCESS_DENIED_ACE,*LPACCESS_DENIED_ACE; 120 121 typedef struct _SYSTEM_AUDIT_ACE { 122 ACE_HEADER Header; 123 DWORD Mask; 124 DWORD SidStart; 125 } SYSTEM_AUDIT_ACE,*LPSYSTEM_AUDIT_ACE; 126 127 typedef struct _SYSTEM_ALARM_ACE { 128 ACE_HEADER Header; 129 DWORD Mask; 130 DWORD SidStart; 131 } SYSTEM_ALARM_ACE,*LPSYSTEM_ALARM_ACE; 132 133 #define SECURITY_DESCRIPTOR_REVISION 1 134 #define SECURITY_DESCRIPTOR_REVISION1 1 135 136 typedef WORD SECURITY_DESCRIPTOR_CONTROL; 137 138 #define SE_OWNER_DEFAULTED 0x0001 139 #define SE_GROUP_DEFAULTED 0x0002 140 #define SE_DACL_PRESENT 0x0004 141 #define SE_DACL_DEFAULTED 0x0008 142 #define SE_SACL_PRESENT 0x0010 143 #define SE_SACL_DEFAULTED 0x0020 144 #define SE_SELF_RELATIVE 0x8000 145 146 typedef struct { 147 BYTE Revision; 148 BYTE Sbz1; 149 SECURITY_DESCRIPTOR_CONTROL Control; 150 LPSID Owner; 151 LPSID Group; 152 LPACL Sacl; 153 LPACL Dacl; 154 } SECURITY_DESCRIPTOR,*PSECURITY_DESCRIPTOR,*LPSECURITY_DESCRIPTOR; 155 156 157 typedef enum tagSID_NAME_USE { 158 SidTypeUser = 1, 159 SidTypeGroup, 160 SidTypeDomain, 161 SidTypeAlias, 162 SidTypeWellKnownGroup, 163 SidTypeDeletedAccount, 164 SidTypeInvalid, 165 SidTypeUnknown 166 } SID_NAME_USE,*PSID_NAME_USE,*LPSID_NAME_USE; 167 168 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL) 169 * If they are zero terminated, Length does not include the terminating 0. 170 */ 171 172 typedef struct _STRING { 173 UINT16 Length; 174 UINT16 MaximumLength; 175 LPSTR Buffer; 176 } STRING,*LPSTRING,ANSI_STRING,*LPANSI_STRING; 177 178 typedef struct _CSTRING { 179 UINT16 Length; 180 UINT16 MaximumLength; 181 LPCSTR Buffer; 182 } CSTRING,*LPCSTRING; 183 184 typedef struct _UNICODE_STRING { 185 UINT16 Length; /* bytes */ 186 UINT16 MaximumLength; /* bytes */ 187 LPWSTR Buffer; 188 } UNICODE_STRING,*LPUNICODE_STRING; 189 190 191 BOOL32 WIN32API IsValidSid(LPSID); 192 BOOL32 WIN32API EqualSid(LPSID,LPSID); 193 BOOL32 WIN32API EqualPrefixSid(LPSID,LPSID); 194 DWORD WIN32API GetSidLengthRequired(BYTE); 195 BOOL32 WIN32API AllocateAndInitializeSid(LPSID_IDENTIFIER_AUTHORITY,BYTE,DWORD, 19 20 /****************** 21 * asynchronous I/O 22 */ 23 #undef Status /* conflict with X11-includes*/ 24 25 26 /**************************************************************************** 27 * adjust WINE header to ODIN * 28 ****************************************************************************/ 29 30 #ifdef NTAPI 31 # undef NTAPI 32 #endif 33 #define NTAPI WIN32API 34 35 #ifdef WINAPI 36 # undef WINAPI 37 #endif 38 #define WINAPI WIN32API 39 40 #ifndef BOOLEAN 41 # define BOOLEAN BOOL 42 #endif 43 44 /* prototypes */ 45 LPWSTR HEAP_strdupW(HANDLE heap, DWORD flags, LPCWSTR str); 46 LPSTR HEAP_strdupWtoA(HANDLE heap, DWORD flags, LPCWSTR str); 47 48 49 50 typedef struct _IO_STATUS_BLOCK 51 { union 52 { NTSTATUS Status; 53 PVOID Pointer; 54 } u; 55 ULONG_PTR Information; 56 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 57 58 // @@@PH - this seems to be wrong in WINE 59 // typedef VOID (NTAPI* PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); 60 typedef PVOID PIO_APC_ROUTINE; 61 62 typedef enum _KEY_INFORMATION_CLASS { 63 KeyBasicInformation, 64 KeyNodeInformation, 65 KeyFullInformation 66 } KEY_INFORMATION_CLASS; 67 68 typedef enum _KEY_VALUE_INFORMATION_CLASS { 69 KeyValueBasicInformation, 70 KeyValueFullInformation, 71 KeyValuePartialInformation, 72 KeyValueFullInformationAlign64, 73 KeyValuePartialInformationAlign64 74 } KEY_VALUE_INFORMATION_CLASS; 75 76 typedef enum _THREADINFOCLASS 77 { ThreadBasicInformation, 78 ThreadTimes, 79 ThreadPriority, 80 ThreadBasePriority, 81 ThreadAffinityMask, 82 ThreadImpersonationToken, 83 ThreadDescriptorTableEntry, 84 ThreadEnableAlignmentFaultFixup, 85 ThreadEventPair_Reusable, 86 ThreadQuerySetWin32StartAddress, 87 ThreadZeroTlsCell, 88 ThreadPerformanceCount, 89 ThreadAmILastThread, 90 ThreadIdealProcessor, 91 ThreadPriorityBoost, 92 ThreadSetTlsArrayAddress, 93 ThreadIsIoPending, 94 MaxThreadInfoClass 95 } THREADINFOCLASS; 96 97 typedef enum _FILE_INFORMATION_CLASS { 98 FileDirectoryInformation = 1, 99 FileFullDirectoryInformation, 100 FileBothDirectoryInformation, 101 FileBasicInformation, 102 FileStandardInformation, 103 FileInternalInformation, 104 FileEaInformation, 105 FileAccessInformation, 106 FileNameInformation, 107 FileRenameInformation, 108 FileLinkInformation, 109 FileNamesInformation, 110 FileDispositionInformation, 111 FilePositionInformation, 112 FileFullEaInformation, 113 FileModeInformation, 114 FileAlignmentInformation, 115 FileAllInformation, 116 FileAllocationInformation, 117 FileEndOfFileInformation, 118 FileAlternateNameInformation, 119 FileStreamInformation, 120 FilePipeInformation, 121 FilePipeLocalInformation, 122 FilePipeRemoteInformation, 123 FileMailslotQueryInformation, 124 FileMailslotSetInformation, 125 FileCompressionInformation, 126 FileObjectIdInformation, 127 FileCompletionInformation, 128 FileMoveClusterInformation, 129 FileQuotaInformation, 130 FileReparsePointInformation, 131 FileNetworkOpenInformation, 132 FileAttributeTagInformation, 133 FileTrackingInformation, 134 FileMaximumInformation 135 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; 136 137 typedef enum _SECTION_INHERIT 138 { 139 ViewShare = 1, 140 ViewUnmap = 2 141 142 } SECTION_INHERIT; 143 144 /* 145 placeholder 146 */ 147 typedef enum _OBJECT_INFORMATION_CLASS 148 { 149 DunnoTheConstants1 150 151 } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; 152 153 154 /* 155 * NtQuerySystemInformation 156 */ 157 158 typedef enum SYSTEM_INFORMATION_CLASS 159 { Unknown1 = 1, 160 Unknown2, 161 Unknown3, 162 Unknown4, 163 SystemPerformanceInformation 164 } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS; 165 166 /* reading coffee grounds... */ 167 typedef struct _THREAD_INFO 168 { DWORD Unknown1[6]; 169 DWORD ThreadID; 170 DWORD Unknown2[3]; 171 DWORD Status; 172 DWORD WaitReason; 173 DWORD Unknown3[4]; 174 } THREAD_INFO, PTHREAD_INFO; 175 176 typedef struct _VM_COUNTERS_ 177 { ULONG PeakVirtualSize; 178 ULONG VirtualSize; 179 ULONG PageFaultCount; 180 ULONG PeakWorkingSetSize; 181 ULONG WorkingSetSize; 182 ULONG QuotaPeakPagedPoolUsage; 183 ULONG QuotaPagedPoolUsage; 184 ULONG QuotaPeakNonPagedPoolUsage; 185 ULONG QuotaNonPagedPoolUsage; 186 ULONG PagefileUsage; 187 ULONG PeakPagefileUsage; 188 } VM_COUNTERS, *PVM_COUNTERS; 189 190 typedef struct _PROCESS_INFO 191 { DWORD Offset; /* 00 offset to next PROCESS_INFO ok*/ 192 DWORD ThreadCount; /* 04 number of ThreadInfo member ok */ 193 DWORD Unknown1[6]; 194 FILETIME CreationTime; /* 20 */ 195 DWORD Unknown2[5]; 196 PWCHAR ProcessName; /* 3c ok */ 197 DWORD BasePriority; 198 DWORD ProcessID; /* 44 ok*/ 199 DWORD ParentProcessID; 200 DWORD HandleCount; 201 DWORD Unknown3[2]; /* 50 */ 202 ULONG PeakVirtualSize; 203 ULONG VirtualSize; 204 ULONG PageFaultCount; 205 ULONG PeakWorkingSetSize; 206 ULONG WorkingSetSize; 207 ULONG QuotaPeakPagedPoolUsage; 208 ULONG QuotaPagedPoolUsage; 209 ULONG QuotaPeakNonPagedPoolUsage; 210 ULONG QuotaNonPagedPoolUsage; 211 ULONG PagefileUsage; 212 ULONG PeakPagefileUsage; 213 DWORD PrivateBytes; 214 DWORD Unknown6[4]; 215 THREAD_INFO ati[ANYSIZE_ARRAY]; /* 94 size=0x40*/ 216 } PROCESS_INFO, PPROCESS_INFO; 217 218 NTSTATUS WINAPI NtQuerySystemInformation( 219 IN SYSTEM_INFORMATION_CLASS SystemInformationClass, 220 OUT PVOID SystemInformation, 221 IN ULONG Length, 222 OUT PULONG ResultLength); 223 224 /* 225 * system configuration 226 */ 227 228 229 typedef struct _SYSTEM_TIME_ADJUSTMENT 230 { 231 ULONG TimeAdjustment; 232 BOOLEAN TimeAdjustmentDisabled; 233 234 } SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT; 235 236 typedef struct _SYSTEM_CONFIGURATION_INFO 237 { 238 union 239 { ULONG OemId; 240 struct 241 { WORD ProcessorArchitecture; 242 WORD Reserved; 243 } tag1; 244 } tag2; 245 ULONG PageSize; 246 PVOID MinimumApplicationAddress; 247 PVOID MaximumApplicationAddress; 248 ULONG ActiveProcessorMask; 249 ULONG NumberOfProcessors; 250 ULONG ProcessorType; 251 ULONG AllocationGranularity; 252 WORD ProcessorLevel; 253 WORD ProcessorRevision; 254 255 } SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO; 256 257 258 typedef struct _SYSTEM_CACHE_INFORMATION 259 { 260 ULONG CurrentSize; 261 ULONG PeakSize; 262 ULONG PageFaultCount; 263 ULONG MinimumWorkingSet; 264 ULONG MaximumWorkingSet; 265 ULONG Unused[4]; 266 267 } SYSTEM_CACHE_INFORMATION; 268 269 /* 270 * NtQueryProcessInformation 271 */ 272 273 /* parameter ProcessInformationClass */ 274 275 typedef enum _PROCESSINFOCLASS 276 { ProcessBasicInformation, 277 ProcessQuotaLimits, 278 ProcessIoCounters, 279 ProcessVmCounters, 280 ProcessTimes, 281 ProcessBasePriority, 282 ProcessRaisePriority, 283 ProcessDebugPort, 284 ProcessExceptionPort, 285 ProcessAccessToken, 286 ProcessLdtInformation, 287 ProcessLdtSize, 288 ProcessDefaultHardErrorMode, 289 ProcessIoPortHandlers, 290 ProcessPooledUsageAndLimits, 291 ProcessWorkingSetWatch, 292 ProcessUserModeIOPL, 293 ProcessEnableAlignmentFaultFixup, 294 ProcessPriorityClass, 295 ProcessWx86Information, 296 ProcessHandleCount, 297 ProcessAffinityMask, 298 ProcessPriorityBoost, 299 ProcessDeviceMap, 300 ProcessSessionInformation, 301 ProcessForegroundInformation, 302 ProcessWow64Information, 303 MaxProcessInfoClass 304 } PROCESSINFOCLASS; 305 306 /* parameter ProcessInformation (depending on ProcessInformationClass) */ 307 308 typedef struct _PROCESS_BASIC_INFORMATION 309 { DWORD ExitStatus; 310 DWORD PebBaseAddress; 311 DWORD AffinityMask; 312 DWORD BasePriority; 313 ULONG UniqueProcessId; 314 ULONG InheritedFromUniqueProcessId; 315 } PROCESS_BASIC_INFORMATION; 316 317 NTSTATUS WINAPI NtQueryInformationProcess( 318 IN HANDLE ProcessHandle, 319 IN PROCESSINFOCLASS ProcessInformationClass, 320 OUT PVOID ProcessInformation, 321 IN ULONG ProcessInformationLength, 322 OUT PULONG ReturnLength); 323 324 #define NtCurrentProcess() ( (HANDLE) -1 ) 325 326 /* 327 * timer 328 */ 329 330 typedef enum _TIMER_TYPE 331 { 332 NotificationTimer, 333 SynchronizationTimer 334 335 } TIMER_TYPE; 336 337 /* 338 * token functions 339 */ 340 341 NTSTATUS WINAPI NtOpenProcessToken( 342 HANDLE ProcessHandle, 343 DWORD DesiredAccess, 344 HANDLE *TokenHandle); 345 346 NTSTATUS WINAPI NtOpenThreadToken( 347 HANDLE ThreadHandle, 348 DWORD DesiredAccess, 349 BOOLEAN OpenAsSelf, 350 HANDLE *TokenHandle); 351 352 NTSTATUS WINAPI NtAdjustPrivilegesToken( 353 IN HANDLE TokenHandle, 354 IN BOOLEAN DisableAllPrivileges, 355 IN PTOKEN_PRIVILEGES NewState, 356 IN DWORD BufferLength, 357 OUT PTOKEN_PRIVILEGES PreviousState, 358 OUT PDWORD ReturnLength); 359 360 NTSTATUS WINAPI NtQueryInformationToken( 361 HANDLE token, 362 DWORD tokeninfoclass, 363 LPVOID tokeninfo, 364 DWORD tokeninfolength, 365 LPDWORD retlen ); 366 367 /* 368 * sid functions 369 */ 370 371 BOOLEAN WINAPI RtlAllocateAndInitializeSid ( 372 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 373 DWORD nSubAuthorityCount, 374 DWORD x3, 375 DWORD x4, 376 DWORD x5, 377 DWORD x6, 378 DWORD x7, 379 DWORD x8, 380 DWORD x9, 381 DWORD x10, 382 PSID pSid); 383 384 DWORD WINAPI RtlEqualSid(DWORD x1,DWORD x2); 385 DWORD WINAPI RtlFreeSid(DWORD x1); 386 DWORD WINAPI RtlLengthRequiredSid(DWORD nrofsubauths); 387 DWORD WINAPI RtlLengthSid(PSID sid); 388 DWORD WINAPI RtlInitializeSid(PSID PSID,PSID_IDENTIFIER_AUTHORITY PSIDauth, DWORD c); 389 LPDWORD WINAPI RtlSubAuthoritySid(PSID PSID,DWORD nr); 390 LPBYTE WINAPI RtlSubAuthorityCountSid(PSID PSID); 391 DWORD WINAPI RtlCopySid(DWORD len,PSID to,PSID from); 392 393 /* 394 * security descriptor functions 395 */ 396 397 NTSTATUS WINAPI RtlCreateSecurityDescriptor( 398 PSECURITY_DESCRIPTOR lpsd, 399 DWORD rev); 400 401 NTSTATUS WINAPI RtlValidSecurityDescriptor( 402 PSECURITY_DESCRIPTOR SecurityDescriptor); 403 404 ULONG WINAPI RtlLengthSecurityDescriptor( 405 PSECURITY_DESCRIPTOR SecurityDescriptor); 406 407 NTSTATUS WINAPI RtlGetDaclSecurityDescriptor( 408 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 409 OUT PBOOLEAN lpbDaclPresent, 410 OUT PACL *pDacl, 411 OUT PBOOLEAN lpbDaclDefaulted); 412 413 NTSTATUS WINAPI RtlSetDaclSecurityDescriptor ( 414 PSECURITY_DESCRIPTOR lpsd, 415 BOOLEAN daclpresent, 416 PACL dacl, 417 BOOLEAN dacldefaulted ); 418 419 NTSTATUS WINAPI RtlGetSaclSecurityDescriptor( 420 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 421 OUT PBOOLEAN lpbSaclPresent, 422 OUT PACL *pSacl, 423 OUT PBOOLEAN lpbSaclDefaulted); 424 425 NTSTATUS WINAPI RtlSetSaclSecurityDescriptor ( 426 PSECURITY_DESCRIPTOR lpsd, 427 BOOLEAN saclpresent, 428 PACL sacl, 429 BOOLEAN sacldefaulted); 430 431 NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor( 432 PSECURITY_DESCRIPTOR SecurityDescriptor, 433 PSID *Owner, 434 PBOOLEAN OwnerDefaulted); 435 436 NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor( 437 PSECURITY_DESCRIPTOR lpsd, 438 PSID owner, 439 BOOLEAN ownerdefaulted); 440 441 NTSTATUS WINAPI RtlSetGroupSecurityDescriptor ( 442 PSECURITY_DESCRIPTOR lpsd, 443 PSID group, 444 BOOLEAN groupdefaulted); 445 446 NTSTATUS WINAPI RtlGetGroupSecurityDescriptor( 447 PSECURITY_DESCRIPTOR SecurityDescriptor, 448 PSID *Group, 449 PBOOLEAN GroupDefaulted); 450 451 /* ############################## 452 ###### ACL FUNCTIONS ###### 453 ############################## 454 */ 455 456 DWORD WINAPI RtlCreateAcl(PACL acl,DWORD size,DWORD rev); 457 458 BOOLEAN WINAPI RtlFirstFreeAce( 459 PACL acl, 460 PACE_HEADER *x); 461 462 NTSTATUS WINAPI RtlAddAce( 463 PACL acl, 464 DWORD rev, 465 DWORD xnrofaces, 466 PACE_HEADER acestart, 467 DWORD acelen); 468 469 DWORD WINAPI RtlAddAccessAllowedAce(DWORD x1,DWORD x2,DWORD x3,DWORD x4); 470 DWORD WINAPI RtlGetAce(PACL pAcl,DWORD dwAceIndex,LPVOID *pAce ); 471 472 /* 473 * string functions 474 */ 475 476 DWORD WINAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING uni,PANSI_STRING ansi,BOOLEAN doalloc); 477 DWORD WINAPI RtlOemStringToUnicodeString(PUNICODE_STRING uni,PSTRING ansi,BOOLEAN doalloc); 478 DWORD WINAPI RtlMultiByteToUnicodeN(LPWSTR unistr,DWORD unilen,LPDWORD reslen,LPSTR oemstr,DWORD oemlen); 479 DWORD WINAPI RtlOemToUnicodeN(LPWSTR unistr,DWORD unilen,LPDWORD reslen,LPSTR oemstr,DWORD oemlen); 480 VOID WINAPI RtlInitAnsiString(PANSI_STRING target,LPCSTR source); 481 VOID WINAPI RtlInitString(PSTRING target,LPCSTR source); 482 VOID WINAPI RtlInitUnicodeString(PUNICODE_STRING target,LPCWSTR source); 483 VOID WINAPI RtlFreeUnicodeString(PUNICODE_STRING str); 484 VOID WINAPI RtlFreeAnsiString(PANSI_STRING AnsiString); 485 DWORD WINAPI RtlUnicodeToOemN(LPSTR oemstr,DWORD oemlen,LPDWORD reslen,LPWSTR unistr,DWORD unilen); 486 DWORD WINAPI RtlUnicodeStringToOemString(PANSI_STRING oem,PUNICODE_STRING uni,BOOLEAN alloc); 487 DWORD WINAPI RtlUnicodeStringToAnsiString(PANSI_STRING oem,PUNICODE_STRING uni,BOOLEAN alloc); 488 DWORD WINAPI RtlEqualUnicodeString(PUNICODE_STRING s1,PUNICODE_STRING s2,DWORD x); 489 DWORD WINAPI RtlUpcaseUnicodeString(PUNICODE_STRING dest,PUNICODE_STRING src,BOOLEAN doalloc); 490 UINT WINAPI RtlxOemStringToUnicodeSize(PSTRING str); 491 UINT WINAPI RtlxAnsiStringToUnicodeSize(PANSI_STRING str); 492 DWORD WINAPI RtlIsTextUnicode(LPVOID buf, DWORD len, DWORD *pf); 493 DWORD WINAPI RtlCompareUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive); 494 495 /* 496 * resource functions 497 */ 498 499 typedef struct _RTL_RWLOCK { 500 CRITICAL_SECTION rtlCS; 501 HANDLE hSharedReleaseSemaphore; 502 UINT uSharedWaiters; 503 HANDLE hExclusiveReleaseSemaphore; 504 UINT uExclusiveWaiters; 505 INT iNumberActive; 506 HANDLE hOwningThreadId; 507 DWORD dwTimeoutBoost; 508 PVOID pDebugInfo; 509 } RTL_RWLOCK, *LPRTL_RWLOCK; 510 511 VOID WINAPI RtlInitializeResource( 512 LPRTL_RWLOCK); 513 514 VOID WINAPI RtlDeleteResource( 515 LPRTL_RWLOCK); 516 517 BYTE WINAPI RtlAcquireResourceExclusive( 518 LPRTL_RWLOCK, BYTE fWait); 519 520 BYTE WINAPI RtlAcquireResourceShared( 521 LPRTL_RWLOCK, BYTE fWait); 522 523 VOID WINAPI RtlReleaseResource( 524 LPRTL_RWLOCK); 525 526 VOID WINAPI RtlDumpResource( 527 LPRTL_RWLOCK); 528 529 /* 530 time functions 531 */ 532 533 typedef struct _TIME_FIELDS 534 { CSHORT Year; 535 CSHORT Month; 536 CSHORT Day; 537 CSHORT Hour; 538 CSHORT Minute; 539 CSHORT Second; 540 CSHORT Milliseconds; 541 CSHORT Weekday; 542 } TIME_FIELDS; 543 544 typedef TIME_FIELDS *PTIME_FIELDS; 545 546 VOID WINAPI RtlSystemTimeToLocalTime( 547 IN PLARGE_INTEGER SystemTime, 548 OUT PLARGE_INTEGER LocalTime); 549 550 VOID WINAPI RtlTimeToTimeFields( 551 PLARGE_INTEGER liTime, 552 PTIME_FIELDS TimeFields); 553 554 BOOLEAN WINAPI RtlTimeFieldsToTime( 555 PTIME_FIELDS tfTimeFields, 556 PLARGE_INTEGER Time); 557 558 VOID WINAPI RtlTimeToElapsedTimeFields( 559 PLARGE_INTEGER liTime, 560 PTIME_FIELDS TimeFields); 561 562 BOOLEAN WINAPI RtlTimeToSecondsSince1980( 563 LPFILETIME ft, 564 LPDWORD timeret); 565 566 BOOLEAN WINAPI RtlTimeToSecondsSince1970( 567 LPFILETIME ft, 568 LPDWORD timeret); 569 570 /* 571 heap functions 572 */ 573 574 /* Data structure for heap definition. This includes various 575 sizing parameters and callback routines, which, if left NULL, 576 result in default behavior */ 577 578 typedef struct 579 { ULONG Length; /* = sizeof(RTL_HEAP_DEFINITION) */ 580 ULONG Unknown[11]; 581 } RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; 582 583 HANDLE WINAPI RtlCreateHeap( 584 ULONG Flags, 585 PVOID BaseAddress, 586 ULONG SizeToReserve, 587 ULONG SizeToCommit, 588 PVOID Unknown, 589 PRTL_HEAP_DEFINITION Definition); 590 591 PVOID WINAPI RtlAllocateHeap( 592 HANDLE Heap, 593 ULONG Flags, 594 ULONG Size); 595 596 597 BOOLEAN WINAPI RtlFreeHeap( 598 HANDLE Heap, 599 ULONG Flags, 600 PVOID Address); 601 602 /* 603 * misc 604 */ 605 void __cdecl DbgPrint(LPCSTR fmt,LPVOID args); 606 DWORD NtRaiseException ( DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments,CONST ULONG_PTR *lpArguments); 607 DWORD RtlRaiseException ( DWORD x); 608 VOID WINAPI RtlAcquirePebLock(void); 609 VOID WINAPI RtlReleasePebLock(void); 610 DWORD WINAPI RtlAdjustPrivilege(DWORD x1,DWORD x2,DWORD x3,DWORD x4); 611 DWORD WINAPI RtlIntegerToChar(DWORD x1,DWORD x2,DWORD x3,DWORD x4); 612 DWORD WINAPI RtlSetEnvironmentVariable(DWORD x1,PUNICODE_STRING key,PUNICODE_STRING val); 613 DWORD WINAPI RtlNewSecurityObject(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6); 614 DWORD WINAPI RtlDeleteSecurityObject(DWORD x1); 615 LPVOID WINAPI RtlNormalizeProcessParams(LPVOID x); 616 DWORD WINAPI RtlNtStatusToDosError(DWORD error); 617 BOOLEAN WINAPI RtlGetNtProductType(LPDWORD type); 618 INT WINAPI RtlExtendedLargeIntegerDivide(LARGE_INTEGER dividend, DWORD divisor, LPDWORD rest); 619 LARGE_INTEGER WINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1,INT factor2); 620 DWORD WINAPI RtlFormatCurrentUserKeyPath(DWORD x); 621 DWORD WINAPI RtlOpenCurrentUser(DWORD x1, DWORD *x2); 622 BOOLEAN WINAPI RtlDosPathNameToNtPathName_U( LPWSTR from,PUNICODE_STRING us,DWORD x2,DWORD x3); 623 DWORD WINAPI RtlCreateEnvironment(DWORD x1,DWORD x2); 624 DWORD WINAPI RtlDestroyEnvironment(DWORD x); 625 DWORD WINAPI RtlQueryEnvironmentVariable_U(DWORD x1,PUNICODE_STRING key,PUNICODE_STRING val) ; 626 627 BOOL WINAPI IsValidSid(PSID); 628 BOOL WINAPI EqualSid(PSID,PSID); 629 BOOL WINAPI EqualPrefixSid(PSID,PSID); 630 DWORD WINAPI GetSidLengthRequired(BYTE); 631 BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD, 196 632 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD, 197 DWORD, (削除) L (削除ここまで)PSID*);198 VOID* WIN (削除) 32API FreeSid(L (削除ここまで)PSID);199 BOOL (削除) 32 WIN32 (削除ここまで)API InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD);200 BOOL (削除) 32 WIN32API InitializeSid(LPSID,L (削除ここまで)PSID_IDENTIFIER_AUTHORITY,BYTE);201 DWORD* WIN (削除) 32API GetSidSubAuthority(L (削除ここまで)PSID,DWORD);202 BYTE * WIN (削除) 32API GetSidSubAuthorityCount(L (削除ここまで)PSID);203 DWORD WIN (削除) 32API GetLengthSid(L (削除ここまで)PSID);204 BOOL (削除) 32 WIN32API CopySid(DWORD,LPSID,L (削除ここまで)PSID);205 BOOL (削除) 32 WIN32API LookupAccountSid32 (削除ここまで)A(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD,633 DWORD,(追記) (追記ここまで)PSID*); 634 VOID* WIN(追記) API FreeSid( (追記ここまで)PSID); 635 BOOL(追記) WIN (追記ここまで)API InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD); 636 BOOL(追記) WINAPI InitializeSid(PSID, (追記ここまで)PSID_IDENTIFIER_AUTHORITY,BYTE); 637 DWORD* WIN(追記) API GetSidSubAuthority( (追記ここまで)PSID,DWORD); 638 BYTE * WIN(追記) API GetSidSubAuthorityCount( (追記ここまで)PSID); 639 DWORD WIN(追記) API GetLengthSid( (追記ここまで)PSID); 640 BOOL(追記) WINAPI CopySid(DWORD,PSID, (追記ここまで)PSID); 641 BOOL(追記) WINAPI LookupAccountSid (追記ここまで)A(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD, 206 642 PSID_NAME_USE); 207 BOOL (削除) 32 WIN32API LookupAccountSid32 (削除ここまで)W(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD,643 BOOL(追記) WINAPI LookupAccountSid (追記ここまで)W(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD, 208 644 PSID_NAME_USE); 209 LPSID_IDENTIFIER_AUTHORITY WIN32API GetSidIdentifierAuthority(LPSID); 210 211 645 PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID); 212 646 213 647 #ifdef __cplusplus … … 215 649 #endif 216 650 217 #endif (削除) /* _WINNT_ */ (削除ここまで)651 #endif(追記) (追記ここまで) -
/trunk/src/kernel32/cio.h
r20 r30 1 /* $Id: cio.h,v 1. (削除) 1 1999年05月24日 20:19:43 ktk (削除ここまで)Exp $ */1 /* $Id: cio.h,v 1.(追記) 2 1999年05月31日 23:22:40 phaller (追記ここまで) Exp $ */ 2 2 3 3 /* Copyright (C) 1995 by Holger Veit (Holger.Veit@gmd.de) */ … … 13 13 extern "C" { 14 14 #endif 15 (追記) (追記ここまで) 16 (追記) #include <odin.h> (追記ここまで) 17 (追記) #include <builtin.h> (追記ここまで) 15 18 16 19 extern int CDECL io_init(void); -
/trunk/src/kernel32/conprop.cpp
r20 r30 37 37 #include <stdarg.h> 38 38 #include <stdio.h> 39 (追記) (追記ここまで) 40 (追記) #include <odin.h> (追記ここまで) 39 41 #include "win32type.h" 40 42 #include "misc.h" -
/trunk/src/kernel32/resource.cpp
r20 r30 1 /* $Id: resource.cpp,v 1. (削除) 2 1999年05月31日 22:08:12 (削除ここまで)phaller Exp $ */1 /* $Id: resource.cpp,v 1.(追記) 3 1999年06月01日 15:47:38 (追記ここまで) phaller Exp $ */ 2 2 3 3 /* … … 14 14 */ 15 15 #include <os2win.h> 16 (追記) #include "misc.h" (追記ここまで) 17 (追記) (追記ここまで) 16 18 #include "unicode.h" 17 19 #include "winres.h" 18 20 #include "winimage.h" 19 21 #include "winexe.h" 20 (削除) #include "misc.h" (削除ここまで)21 22 22 23 -
/trunk/src/shell32/shell32.cpp
r20 r30 1 /* $Id: shell32.cpp,v 1. (削除) 1 1999年05月24日 20:19:57 ktk (削除ここまで)Exp $ */1 /* $Id: shell32.cpp,v 1.(追記) 2 1999年06月01日 08:05:42 phaller (追記ここまで) Exp $ */ 2 2 3 3 /* … … 1143 1143 1144 1144 /************************************************************************* 1145 (削除) * SHELL32_183 [SHELL32.183] (削除ここまで)1146 (削除) * Format and output errormessage. (削除ここまで)1147 (削除) */ (削除ここまで)1148 (削除) //void __cdecl SHELL32_183(HMODULE hmod, (削除ここまで)1149 (削除) // CDECL ? really ? (削除ここまで)1150 (削除) void WIN32API SHELL32_183(HMODULE hmod, (削除ここまで)1151 (削除) HWND hwnd, (削除ここまで)1152 (削除) DWORD id, (削除ここまで)1153 (削除) DWORD x, (削除ここまで)1154 (削除) DWORD type, (削除ここまで)1155 (削除) LPVOID arglist) (削除ここまで)1156 (削除) { (削除ここまで)1157 (削除) char buf[100], (削除ここまで)1158 (削除) buf2[100], (削除ここまで)1159 (削除) *buf3; (削除ここまで)1160 (削除) LPVOID args = &arglist; (削除ここまで)1161 (削除) (削除ここまで)1162 (削除) dprintf(("SHELL32: .183 (%08xh, %08xh, %08xh, %08xh, %08xh, %08xh) not implemented.\n", (削除ここまで)1163 (削除) hmod, (削除ここまで)1164 (削除) hwnd, (削除ここまで)1165 (削除) id, (削除ここまで)1166 (削除) x, (削除ここまで)1167 (削除) type, (削除ここまで)1168 (削除) arglist)); (削除ここまで)1169 (削除) (削除ここまで)1170 (削除) if (!LoadStringA(hmod, (削除ここまで)1171 (削除) x, (削除ここまで)1172 (削除) buf, (削除ここまで)1173 (削除) 100)) (削除ここまで)1174 (削除) strcpy(buf, (削除ここまで)1175 (削除) "Desktop"); (削除ここまで)1176 (削除) (削除ここまで)1177 (削除) LoadStringA(hmod, (削除ここまで)1178 (削除) id, (削除ここまで)1179 (削除) buf2, (削除ここまで)1180 (削除) 100); (削除ここまで)1181 (削除) (削除ここまで)1182 (削除) /* FIXME: the varargs handling doesn't. */ (削除ここまで)1183 (削除) FormatMessageA(0x500, (削除ここまで)1184 (削除) buf2, (削除ここまで)1185 (削除) 0, (削除ここまで)1186 (削除) 0, (削除ここまで)1187 (削除) (LPSTR)&buf3, (削除ここまで)1188 (削除) 256, (削除ここまで)1189 (削除) (LPDWORD)&args); (削除ここまで)1190 (削除) (削除ここまで)1191 (削除) MessageBoxA(hwnd, (削除ここまで)1192 (削除) buf3, (削除ここまで)1193 (削除) buf, (削除ここまで)1194 (削除) id|0x10000); (削除ここまで)1195 (削除) } (削除ここまで)1196 (削除) (削除ここまで)1197 (削除) (削除ここまで)1198 (削除) /************************************************************************* (削除ここまで)1199 1145 * SHELL32_100 [SHELL32.100] 1200 1146 * walks through policy table, queries <app> key, <type> value, returns … … 1663 1609 } 1664 1610 1611 (追記) (追記ここまで) 1612 (追記) /***************************************************************************** (追記ここまで) 1613 (追記) * Name : DWORD ShellMessageBoxW (追記ここまで) 1614 (追記) * Purpose : display a messagebox, retrieve message text from resources (追記ここまで) 1615 (追記) * Parameters: HMODULE hmod (追記ここまで) 1616 (追記) * HWND hwnd (追記ここまで) 1617 (追記) * DWORD idText (追記ここまで) 1618 (追記) * DWORD idTitle (追記ここまで) 1619 (追記) * DWORD uType (追記ここまで) 1620 (追記) * LPCVOID arglist (追記ここまで) 1621 (追記) * Variables : (追記ここまで) 1622 (追記) * Result : (追記ここまで) 1623 (追記) * Remark : SHELL32.182 (追記ここまで) 1624 (追記) * Status : UNTESTED STUB (追記ここまで) 1625 (追記) * (追記ここまで) 1626 (追記) * Author : Patrick Haller [Tue, 1999年06月01日 09:00] (追記ここまで) 1627 (追記) *****************************************************************************/ (追記ここまで) 1628 (追記) (追記ここまで) 1629 (追記) DWORD WIN32API ShellMessageBoxW(HMODULE hmod, (追記ここまで) 1630 (追記) HWND hwnd, (追記ここまで) 1631 (追記) DWORD idText, (追記ここまで) 1632 (追記) DWORD idTitle, (追記ここまで) 1633 (追記) DWORD uType, (追記ここまで) 1634 (追記) LPCVOID arglist) (追記ここまで) 1635 (追記) { (追記ここまで) 1636 (追記) WCHAR szText[100], (追記ここまで) 1637 (追記) szTitle[100], (追記ここまで) 1638 (追記) szTemp[256]; (追記ここまで) 1639 (追記) LPWSTR pszText = &szText[0], (追記ここまで) 1640 (追記) pszTitle = &szTitle[0]; (追記ここまで) 1641 (追記) LPVOID args = &arglist; (追記ここまで) 1642 (追記) (追記ここまで) 1643 (追記) dprintf(("SHELL32: ShellMessageBoxW(%08lx,%08lx,%08lx,%08lx,%08lx,%p)\n", (追記ここまで) 1644 (追記) hmod, (追記ここまで) 1645 (追記) hwnd, (追記ここまで) 1646 (追記) idText, (追記ここまで) 1647 (追記) idTitle, (追記ここまで) 1648 (追記) uType, (追記ここまで) 1649 (追記) arglist)); (追記ここまで) 1650 (追記) (追記ここまで) 1651 (追記) if (!HIWORD (idTitle)) (追記ここまで) 1652 (追記) LoadStringW(hmod, (追記ここまで) 1653 (追記) idTitle, (追記ここまで) 1654 (追記) pszTitle, (追記ここまで) 1655 (追記) 100); (追記ここまで) 1656 (追記) else (追記ここまで) 1657 (追記) pszTitle = (LPWSTR)idTitle; (追記ここまで) 1658 (追記) (追記ここまで) 1659 (追記) if (! HIWORD (idText)) (追記ここまで) 1660 (追記) LoadStringW(hmod,idText,pszText,100); (追記ここまで) 1661 (追記) else (追記ここまで) 1662 (追記) pszText = (LPWSTR)idText; (追記ここまで) 1663 (追記) (追記ここまで) 1664 (追記) FormatMessageW(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY, (追記ここまで) 1665 (追記) szText, (追記ここまで) 1666 (追記) 0, (追記ここまで) 1667 (追記) 0, (追記ここまで) 1668 (追記) szTemp, (追記ここまで) 1669 (追記) 256, (追記ここまで) 1670 (追記) (LPDWORD)args); (追記ここまで) 1671 (追記) (追記ここまで) 1672 (追記) return MessageBoxW(hwnd, (追記ここまで) 1673 (追記) szTemp, (追記ここまで) 1674 (追記) szTitle, (追記ここまで) 1675 (追記) uType); (追記ここまで) 1676 (追記) } (追記ここまで) 1677 (追記) (追記ここまで) 1678 (追記) /***************************************************************************** (追記ここまで) 1679 (追記) * Name : DWORD ShellMessageBoxA (追記ここまで) 1680 (追記) * Purpose : display a messagebox, retrieve message text from resources (追記ここまで) 1681 (追記) * Parameters: HMODULE hmod (追記ここまで) 1682 (追記) * HWND hwnd (追記ここまで) 1683 (追記) * DWORD idText (追記ここまで) 1684 (追記) * DWORD idTitle (追記ここまで) 1685 (追記) * DWORD uType (追記ここまで) 1686 (追記) * LPCVOID arglist (追記ここまで) 1687 (追記) * Variables : (追記ここまで) 1688 (追記) * Result : (追記ここまで) 1689 (追記) * Remark : SHELL32.183 (追記ここまで) 1690 (追記) * Status : UNTESTED STUB (追記ここまで) 1691 (追記) * (追記ここまで) 1692 (追記) * Author : Patrick Haller [Tue, 1999年06月01日 09:00] (追記ここまで) 1693 (追記) *****************************************************************************/ (追記ここまで) 1694 (追記) (追記ここまで) 1695 (追記) DWORD WIN32API ShellMessageBoxA(HMODULE hmod, (追記ここまで) 1696 (追記) HWND hwnd, (追記ここまで) 1697 (追記) DWORD idText, (追記ここまで) 1698 (追記) DWORD idTitle, (追記ここまで) 1699 (追記) DWORD uType, (追記ここまで) 1700 (追記) LPCVOID arglist) (追記ここまで) 1701 (追記) { (追記ここまで) 1702 (追記) char szText[100], (追記ここまで) 1703 (追記) szTitle[100], (追記ここまで) 1704 (追記) szTemp[256]; (追記ここまで) 1705 (追記) LPSTR pszText = &szText[0], (追記ここまで) 1706 (追記) pszTitle = &szTitle[0]; (追記ここまで) 1707 (追記) LPVOID args = &arglist; (追記ここまで) 1708 (追記) (追記ここまで) 1709 (追記) dprintf(("SHELL32: ShellMessageBoxA (%08lx,%08lx,%08lx,%08lx,%08lx,%p)\n", (追記ここまで) 1710 (追記) hmod, (追記ここまで) 1711 (追記) hwnd, (追記ここまで) 1712 (追記) idText, (追記ここまで) 1713 (追記) idTitle, (追記ここまで) 1714 (追記) uType, (追記ここまで) 1715 (追記) arglist)); (追記ここまで) 1716 (追記) (追記ここまで) 1717 (追記) if (!HIWORD (idTitle)) (追記ここまで) 1718 (追記) LoadStringA(hmod,idTitle,pszTitle,100); (追記ここまで) 1719 (追記) else (追記ここまで) 1720 (追記) pszTitle = (LPSTR)idTitle; (追記ここまで) 1721 (追記) (追記ここまで) 1722 (追記) if (! HIWORD (idText)) (追記ここまで) 1723 (追記) LoadStringA(hmod,idText,pszText,100); (追記ここまで) 1724 (追記) else (追記ここまで) 1725 (追記) pszText = (LPSTR)idText; (追記ここまで) 1726 (追記) (追記ここまで) 1727 (追記) FormatMessageA(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY, (追記ここまで) 1728 (追記) pszText, (追記ここまで) 1729 (追記) 0, (追記ここまで) 1730 (追記) 0, (追記ここまで) 1731 (追記) szTemp, (追記ここまで) 1732 (追記) 256, (追記ここまで) 1733 (追記) (LPDWORD)args); (追記ここまで) 1734 (追記) (追記ここまで) 1735 (追記) return MessageBoxA(hwnd, (追記ここまで) 1736 (追記) szTemp, (追記ここまで) 1737 (追記) pszTitle, (追記ここまで) 1738 (追記) uType); (追記ここまで) 1739 (追記) } (追記ここまで) 1665 1740 1666 1741 -
/trunk/src/shell32/shell32.def
r20 r30 14 14 ExtractIconA = _ExtractIconA@12 @131 15 15 ExtractIconW = _ExtractIconW@12 @178 16 (追記) ShellMessageBoxW = _ShellMessageBoxW@24 @182 (追記ここまで) 17 (追記) ShellMessageBoxA = _ShellMessageBoxA@24 @183 (追記ここまで) 16 18 FindExecutableA = _FindExecutableA@12 @184 17 19 FindExecutableW = _FindExecutableW@12 … … 92 94 _SHELL32_175@16 @175 93 95 _SHELL32_181@8 @181 94 (削除) _SHELL32_183@24 @183 (削除ここまで)95 96 _SHELL32_195@4 @195 96 97 _SHELL32_196@4 @196
Note:
See TracChangeset
for help on using the changeset viewer.