Context Navigation


Changes in / [20:30]


Ignore:
Location:
/trunk
Files:
1 added
17 edited

Legend:

Unmodified
Added
Removed
  • /trunk/CVSROOT/cvswrappers

    r20 r30
    1111# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
    1212#
    13# wildcard(削除) (削除ここまで)[option value][option value]...
    13# wildcard(追記) (追記ここまで)[option value][option value]...
    1414#
    1515# where option is one of
    16# -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
    16# -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
    2020#
    2121# and value is a single-quote delimited value.
    2222# For example:
    2323#*.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
    33cla
    44phaller
    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 $ */
    22
    33/*
    1414#endif
    1515
    16(追記) (追記ここまで)
    17(追記) /* enable support for the _interrupt() statement */ (追記ここまで)
    18(追記) #if (defined(__IBMCPP__) || defined(__IBMC__)) (追記ここまで)
    19(追記) # include <builtin.h> (追記ここまで)
    20(追記) #endif (追記ここまで)
    1621
    1722#ifdef DEBUG
  • /trunk/include/pdwin32.emx.dbg

    r20 r30
    2323# Tool Flags
    2424#
    25CFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(削除) (削除ここまで)
    26CXXFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(削除) (削除ここまで)
    25CFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで)
    26CXXFLAGS = -mprobe -pg -c -pipe -Wall -g -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで)
    2727ASFLAGS = -Zomf
    2828LDFLAGS = -Zmt -Zomf -Zmap
  • /trunk/include/pdwin32.vac3.dbg

    r20 r30
    1919# Tool Flags
    2020#
    21CFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(削除) (削除ここまで)
    22CXXFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(削除) (削除ここまで)
    21CFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで)
    22CXXFLAGS = -Q -Fi -Si -Ti -Ge- -Ss+ -W3 -Gm+ -I$(PDWIN32_INCLUDE)\Win -D__WIN32OS2__ -D__WINE__(追記) -DDEBUG (追記ここまで)
    2323ASFLAGS = -Sc -Sv:M510
    2424LDFLAGS = -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 $ */
    22
    33/*
    3434#define SEGPTR_STRDUP_WtoA(str) \
    3535 (HIWORD(str) ? HEAP_strdupWtoA( SegptrHeap, 0, (str) ) : (LPSTR)(str))
    36 /* define an inline function, a macro won't do */
    37static __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 */
    38static SEGPTR SEGPTR_Get(LPCVOID ptr)
    39{
    40 return (HIWORD(ptr) ? HEAP_GetSegptr( SegptrHeap, 0, ptr ) : (SEGPTR)ptr);
    3941}
    42(追記) (追記ここまで)
    4043#define SEGPTR_GET(ptr) SEGPTR_Get(ptr)
    4144#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 $ */
    22
    33#ifndef __WINE_WINNLS_H
    77
    88/* Sun Bug Workaround */
    9#ifdef __WINE__(削除) (削除ここまで)
    9#ifdef __WINE__(追記) (追記ここまで)
    1010# undef wsprintf
    1111#endif
    1414#include "windef.h"
    1515
    16#define MB_PRECOMPOSED 0x00000001(削除) (削除ここまで)
    16#define MB_PRECOMPOSED 0x00000001(追記) (追記ここまで)
    1717#define MB_COMPOSITE 0x00000002
    1818#define MB_USEGLYPHCHARS 0x00000004
    1919#define MB_ERR_INVALID_CHARS 0x00000008
    2020
    21#define LCID_INSTALLED 0x00000001(削除) (削除ここまで)
    21#define LCID_INSTALLED 0x00000001(追記) (追記ここまで)
    2222
    2323/* flags to GetLocaleInfo */
    24#define(削除) LOCALE_NOUSEROVERRIDE (削除ここまで) 0x80000000
    25#define(削除) LOCALE_USE_CP_ACP (削除ここまで) 0x40000000
    24#define(追記) LOCALE_NOUSEROVERRIDE (追記ここまで) 0x80000000
    25#define(追記) LOCALE_USE_CP_ACP (追記ここまで) 0x40000000
    2626
    2727#define LOCALE_LOCALEINFOFLAGSMASK 0xC0000000
    3030 * locale2id map in misc/ole2nls.c
    3131 */
    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(追記) (追記ここまで)
    4646#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 0x00000058
    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 0x00000058
    133133#define LOCALE_SISO639LANGNAME 0x00000059
    134134#define LOCALE_SISO3166CTRYNAME 0x0000005A
    139139#endif
    140140
    141#define NORM_IGNORECASE(削除) (削除ここまで)1
    142#define NORM_IGNORENONSPACE(削除) (削除ここまで)2
    143#define NORM_IGNORESYMBOLS(削除) (削除ここまで)4
    144#define NORM_STRINGSORT(削除) (削除ここまで)0x1000
    141#define NORM_IGNORECASE(追記) (追記ここまで)1
    142#define NORM_IGNORENONSPACE(追記) (追記ここまで)2
    143#define NORM_IGNORESYMBOLS(追記) (追記ここまで)4
    144#define NORM_STRINGSORT(追記) (追記ここまで)0x1000
    145145#define NORM_IGNOREKANATYPE 0x00010000
    146146#define NORM_IGNOREWIDTH 0x00020000
    147147
    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))
    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))
    168168
    169169
    174174
    175175/* 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, 0x57
    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, 0x57
    180180 */
    181181#define LANG_NEUTRAL 0x00
    182#define LANG_AFRIKAANS(削除) (削除ここまで) 0x36
    183#define LANG_ALBANIAN(削除) (削除ここまで) 0x1c
    182#define LANG_AFRIKAANS(追記) (追記ここまで) 0x36
    183#define LANG_ALBANIAN(追記) (追記ここまで) 0x1c
    184184#define LANG_ARABIC 0x01
    185#define LANG_ARMENIAN(削除) (削除ここまで) 0x2b
    186#define LANG_ASSAMESE(削除) (削除ここまで) 0x4d
    187#define LANG_AZERI(削除) (削除ここまで) 0x2c
    185#define LANG_ARMENIAN(追記) (追記ここまで) 0x2b
    186#define LANG_ASSAMESE(追記) (追記ここまで) 0x4d
    187#define LANG_AZERI(追記) (追記ここまで) 0x2c
    188188#define LANG_BASQUE 0x2d
    189#define LANG_BENGALI(削除) (削除ここまで) 0x45
    189#define LANG_BENGALI(追記) (追記ここまで) 0x45
    190190#define LANG_BULGARIAN 0x02
    191191#define LANG_BYELORUSSIAN 0x23
    193193#define LANG_CHINESE 0x04
    194194#define LANG_SERBO_CROATIAN 0x1a
    195#define LANG_CROATIAN(削除) (削除ここまで) LANG_SERBO_CROATIAN
    196#define LANG_SERBIAN(削除) (削除ここまで) LANG_SERBO_CROATIAN
    195#define LANG_CROATIAN(追記) (追記ここまで) LANG_SERBO_CROATIAN
    196#define LANG_SERBIAN(追記) (追記ここまで) LANG_SERBO_CROATIAN
    197197#define LANG_CZECH 0x05
    198198#define LANG_DANISH 0x06
    204204#define LANG_FINNISH 0x0b
    205205#define LANG_FRENCH 0x0c
    206#define LANG_GAELIC(削除) (削除ここまで) 0x3c
    207#define LANG_GEORGIAN(削除) (削除ここまで) 0x37
    206#define LANG_GAELIC(追記) (追記ここまで) 0x3c
    207#define LANG_GEORGIAN(追記) (追記ここまで) 0x37
    208208#define LANG_GERMAN 0x07
    209209#define LANG_GREEK 0x08
    210#define LANG_GUJARATI(削除) (削除ここまで) 0x47
    210#define LANG_GUJARATI(追記) (追記ここまで) 0x47
    211211#define LANG_HEBREW 0x0D
    212#define LANG_HINDI(削除) (削除ここまで) 0x39
    212#define LANG_HINDI(追記) (追記ここまで) 0x39
    213213#define LANG_HUNGARIAN 0x0e
    214214#define LANG_ICELANDIC 0x0f
    216216#define LANG_ITALIAN 0x10
    217217#define LANG_JAPANESE 0x11
    218#define LANG_KANNADA(削除) (削除ここまで) 0x4b
    219#define LANG_KAZAKH(削除) (削除ここまで) 0x3f
    220#define LANG_KONKANI(削除) (削除ここまで) 0x57
    218#define LANG_KANNADA(追記) (追記ここまで) 0x4b
    219#define LANG_KAZAKH(追記) (追記ここまで) 0x3f
    220#define LANG_KONKANI(追記) (追記ここまで) 0x57
    221221#define LANG_KOREAN 0x12
    222222#define LANG_LATVIAN 0x26
    223223#define LANG_LITHUANIAN 0x27
    224#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
    224#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
    230230#define LANG_NORWEGIAN 0x14
    231#define LANG_ORIYA(削除) (削除ここまで) 0x48
    231#define LANG_ORIYA(追記) (追記ここまで) 0x48
    232232#define LANG_POLISH 0x15
    233233#define LANG_PORTUGUESE 0x16
    234#define LANG_PUNJABI(削除) (削除ここまで) 0x46
    235#define LANG_RHAETO_ROMANCE(削除) (削除ここまで) 0x17
    234#define LANG_PUNJABI(追記) (追記ここまで) 0x46
    235#define LANG_RHAETO_ROMANCE(追記) (追記ここまで) 0x17
    236236#define LANG_ROMANIAN 0x18
    237237#define LANG_RUSSIAN 0x19
    238#define LANG_SAAMI(削除) (削除ここまで) 0x3b
    239#define LANG_SANSKRIT(削除) (削除ここまで) 0x4f
    238#define LANG_SAAMI(追記) (追記ここまで) 0x3b
    239#define LANG_SANSKRIT(追記) (追記ここまで) 0x4f
    240240#define LANG_SLOVAK 0x1b
    241241#define LANG_SLOVENIAN 0x24
    242242#define LANG_SORBIAN 0x2e
    243243#define LANG_SPANISH 0x0a
    244#define LANG_SUTU(削除) (削除ここまで) 0x30
    245#define LANG_SWAHILI(削除) (削除ここまで) 0x41
    244#define LANG_SUTU(追記) (追記ここまで) 0x30
    245#define LANG_SWAHILI(追記) (追記ここまで) 0x41
    246246#define LANG_SWEDISH 0x1d
    247#define LANG_TAMIL(削除) (削除ここまで) 0x49
    248#define LANG_TATAR(削除) (削除ここまで) 0x44
    249#define LANG_TELUGU(削除) (削除ここまで) 0x4a
    247#define LANG_TAMIL(追記) (追記ここまで) 0x49
    248#define LANG_TATAR(追記) (追記ここまで) 0x44
    249#define LANG_TELUGU(追記) (追記ここまで) 0x4a
    250250#define LANG_THAI 0x1e
    251#define LANG_TSONGA(削除) (削除ここまで) 0x31
    252#define LANG_TSWANA(削除) (削除ここまで) 0x32
    251#define LANG_TSONGA(追記) (追記ここまで) 0x31
    252#define LANG_TSWANA(追記) (追記ここまで) 0x32
    253253#define LANG_TURKISH 0x1f
    254254#define LANG_UKRAINIAN 0x22
    255#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
    255#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
    261261/* non standard; keep the number high enough (but < 0xff) */
    262#define LANG_ESPERANTO(削除) (削除ここまで) 0x8f
    263#define LANG_WALON(削除) (削除ここまで) 0x90
    262#define LANG_ESPERANTO(追記) (追記ここまで) 0x8f
    263#define LANG_WALON(追記) (追記ここまで) 0x90
    264264
    265265/* Sublanguage definitions */
    292292#define SUBLANG_DUTCH 0x01
    293293#define SUBLANG_DUTCH_BELGIAN 0x02
    294#define SUBLANG_DUTCH_SURINAM(削除) (削除ここまで) 0x03
    294#define SUBLANG_DUTCH_SURINAM(追記) (追記ここまで) 0x03
    295295#define SUBLANG_ENGLISH_US 0x01
    296296#define SUBLANG_ENGLISH_UK 0x02
    341341#define SUBLANG_SPANISH_PARAGUAY 0x0f
    342342#define SUBLANG_SPANISH_BOLIVIA 0x10
    343#define SUBLANG_SPANISH_EL_SALVADOR(削除) (削除ここまで) 0x11
    343#define SUBLANG_SPANISH_EL_SALVADOR(追記) (追記ここまで) 0x11
    344344#define SUBLANG_SPANISH_HONDURAS 0x12
    345345#define SUBLANG_SPANISH_NICARAGUA 0x13
    346346#define SUBLANG_SPANISH_PUERTO_RICO 0x14
    347347/* FIXME: I don't know the symbolic names for those */
    348#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
    348#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
    364364#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
    365#define SUBLANG_UZBEK(削除) (削除ここまで) 0x01
    366#define SUBLANG_UZBEK_CYRILLIC(削除) (削除ここまで) 0x02
    365#define SUBLANG_UZBEK(追記) (追記ここまで) 0x01
    366#define SUBLANG_UZBEK_CYRILLIC(追記) (追記ここまで) 0x02
    367367#define SUBLANG_URDU_PAKISTAN 0x01
    368368
    378378
    379379/* 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 */
    384384
    385385#define SORT_STRINGSORT 0x00001000 /* take punctuation into account */
    386386
    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 */
    391391
    392392/* Date Flags for GetDateFormat. */
    415415
    416416/* Definitions for IsTextUnicode() function */
    417#define IS_TEXT_UNICODE_ASCII16(削除) (削除ここまで)0x0001
    418#define IS_TEXT_UNICODE_SIGNATURE(削除) (削除ここまで)0x0008
    419#define IS_TEXT_UNICODE_REVERSE_ASCII16(削除) (削除ここまで)0x0010
    417#define IS_TEXT_UNICODE_ASCII16(追記) (追記ここまで)0x0001
    418#define IS_TEXT_UNICODE_SIGNATURE(追記) (追記ここまで)0x0008
    419#define IS_TEXT_UNICODE_REVERSE_ASCII16(追記) (追記ここまで)0x0010
    420420#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 0x0080
    421#define IS_TEXT_UNICODE_ILLEGAL_CHARS(削除) (削除ここまで)0x0100
    422#define IS_TEXT_UNICODE_ODD_LENGTH(削除) (削除ここまで)0x0200
    421#define IS_TEXT_UNICODE_ILLEGAL_CHARS(追記) (追記ここまで)0x0100
    422#define IS_TEXT_UNICODE_ODD_LENGTH(追記) (追記ここまで)0x0200
    423423
    424424/* Tests that we currently implement */
    425425#define ITU_IMPLEMENTED_TESTS \
    426(削除) (削除ここまで)IS_TEXT_UNICODE_SIGNATURE| \
    427(削除) (削除ここまで)IS_TEXT_UNICODE_ODD_LENGTH
    428
    429
    426(追記) (追記ここまで)IS_TEXT_UNICODE_SIGNATURE| \
    427(追記) (追記ここまで)IS_TEXT_UNICODE_ODD_LENGTH
    428
    429
    430430/* 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
    434449
    435450/* 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
    445498
    446499/* 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
    459561
    460562/* CType 3 Flag Bits */
    461#define(削除) C3_NONSPACING (削除ここまで)0x0001
    462#define(削除) C3_DIACRITIC (削除ここまで)0x0002
    463#define(削除) C3_VOWELMARK (削除ここまで)0x0004
    464#define(削除) C3_SYMBOL (削除ここまで)0x0008
    465#define(削除) C3_KATAKANA (削除ここまで)0x0010
    466#define(削除) C3_HIRAGANA (削除ここまで)0x0020
    467#define(削除) C3_HALFWIDTH (削除ここまで)0x0040
    468#define(削除) C3_FULLWIDTH (削除ここまで)0x0080
    469#define(削除) C3_IDEOGRAPH (削除ここまで)0x0100
    470#define(削除) C3_KASHIDA (削除ここまで)0x0200
    471#define(削除) C3_LEXICAL (削除ここまで)0x0400
    472#define(削除) C3_ALPHA (削除ここまで)0x8000
    473#define(削除) C3_NOTAPPLICABLE (削除ここまで)0x0000
    563#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
    474576
    475577typedef DWORD CALTYPE;
    476578typedef DWORD CALID;
    477579
    478typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR);
    479typedef 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
    480591DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC)
    481592
    482BOOL(削除) (削除ここまで)WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
    483BOOL(削除) (削除ここまで)WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
    593BOOL(追記) (追記ここまで)WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
    594BOOL(追記) (追記ここまで)WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
    484595#define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo)
    485596
  • /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 $
    22
    33#
    1717#
    1818
    19all:(削除) (削除ここまで)
    20 (削除) (削除ここまで)cd src
    21 (削除) (削除ここまで)nmake -nologo all
    19all:(追記) odin_libraries (追記ここまで)
    20 (追記) (追記ここまで)cd src
    21 (追記) (追記ここまで)nmake -nologo all
    2222
    23clean:(削除) (削除ここまで)
    24 (削除) (削除ここまで)cd src
    25 (削除) (削除ここまで)nmake -nologo clean
    23clean:(追記) odin_libraries (追記ここまで)
    24 (追記) (追記ここまで)cd src
    25 (追記) (追記ここまで)nmake -nologo clean
    2626
    27debug:(削除) (削除ここまで)
    28 (削除) (削除ここまで)cd src
    29 (削除) (削除ここまで)nmake -nologo all DEBUG=1
    27debug:(追記) odin_libraries (追記ここまで)
    28 (追記) (追記ここまで)cd src
    29 (追記) (追記ここまで)nmake -nologo all DEBUG=1
    3030
    31release:
    32 cd src
    33 nmake -nologo all
    31release: odin_libraries
    32 cd src
    33 nmake -nologo all
    34
    35
    36
    37# --- common section ---
    38odin_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 $ (追記ここまで)
    22
    33#
    4# PD-Win32 API(削除) (削除ここまで)
    4# PD-Win32 API(追記) (追記ここまで)
    55#
    6#(削除) (削除ここまで)NTDLL.dll makefile
    7#(削除) (削除ここまで)
    6#(追記) (追記ここまで)NTDLL.dll makefile
    7#(追記) (追記ここまで)
    88
    99PDWIN32_INCLUDE = ..\..\include
    1919
    2020
    21OBJS = NTDLL.obj
    21OBJS = 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
    2232
    2333TARGET = NTDLL
    2939 $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS) $(TARGET).def $(PDWIN32_LIB)\kernel32.lib
    3040# PMWINX.LIB LIBULS.LIB LIBCONV.LIB
    31(削除) (削除ここまで)$(CP) $@ $(PDWIN32_BIN)
    41(追記) (追記ここまで)$(CP) $@ $(PDWIN32_BIN)
    3242
    3343$(TARGET).lib: $(TARGET).dll
    3444 $(IMPLIB) $(IMPLIBFLAGS) $@ $(TARGET).dll
    35(削除) (削除ここまで)$(CP) $@ $(PDWIN32_LIB)
    45(追記) (追記ここまで)$(CP) $@ $(PDWIN32_LIB)
    3646
    3747
    3848
    39ntdll.obj: \
    40 .\ntdll.c \
    41 .\ntdll.h \
    42 $(PDWIN32_INCLUDE)\unicode.h
    49ntdll.obj: .\ntdll.c .\ntdll.h
    50
    51file.obj: .\file.c .\ntdll.h
    52
    53nt.obj: .\nt.c .\ntdll.h
    54
    55om.obj: .\om.c .\ntdll.h
    56
    57reg.obj: .\reg.c .\ntdll.h
    58
    59rtl.obj: .\rtl.c .\ntdll.h
    60
    61rtlstr.obj: .\rtlstr.c .\ntdll.h
    62
    63sec.obj: .\sec.c .\ntdll.h
    64
    65sync.obj: .\sync.c .\ntdll.h
    66
    67time.obj: .\time.c .\ntdll.h
    68
    4369
    4470
    4571clean:
    46 $(RM) *.obj *.lib *.dll *~ *.map *.pch
    47(削除) (削除ここまで)$(RM) $(PDWIN32_LIB)\$(TARGET).lib
    48(削除) (削除ここまで)$(RM) $(PDWIN32_BIN)\$(TARGET).dll
    72 $(RM) *.obj *.lib *.dll *~ *.map *.pch
    73(追記) (追記ここまで)$(RM) $(PDWIN32_LIB)\$(TARGET).lib
    74(追記) (追記ここまで)$(RM) $(PDWIN32_BIN)\$(TARGET).dll
    4975
    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 $ */
    22
    33/*
    44 *
    55 * Project Odin Software License can be found in LICENSE.TXT
    6(追記) * Win32 NT Runtime / NTDLL for OS/2 (追記ここまで)
    67 *
    7 */
    8/*
    9 * Win32 NT Runtime for OS/2
    8 * Copyright 1998, 1999 Patrick Haller (phaller@gmx.net)
    109 *
    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
    1411 * 1.0.0 1998年05月20日 PH Start from WINE/NTDLL.C
    1512 *
    3734#include <winnt.h>
    3835#include <ntdef.h>
    39(削除) (削除ここまで)
    4036#include <builtin.h>
    4137#include <stdlib.h>
    4541#include "unicode.h"
    4642
    43(追記) #include "ntdll.h" (追記ここまで)
    44(追記) (追記ここまで)
    4745
    4846/*****************************************************************************
    4947 * Types & Defines *
    5048 *****************************************************************************/
    49(追記) (追記ここまで)
    50(追記) #define NTSTATUS DWORD (追記ここまで)
    5151
    5252
    8181 return dst;
    8282}
    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(追記) (追記ここまで)
    83102
    84103
    161180}
    162181
    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
    3030
    3131; 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
    295*/
    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 */
    3315
    3416#ifdef __cplusplus
    3517extern "C" {
    3618#endif
    37
    38
    39#include "win32type.h"
    40
    41typedef unsigned short int UINT16;
    42typedef unsigned long int UINT32;
    43typedef short int INT16;
    44typedef long int INT32;
    45
    46
    47/* Security Ids of NT */
    48typedef struct {
    49 BYTE Value[6];
    50} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
    51
    52typedef 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
    70typedef 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 */
    79typedef 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 */
    109typedef struct _ACCESS_ALLOWED_ACE {
    110 ACE_HEADER Header;
    111 DWORD Mask;
    112 DWORD SidStart;
    113} ACCESS_ALLOWED_ACE,*LPACCESS_ALLOWED_ACE;
    114
    115typedef struct _ACCESS_DENIED_ACE {
    116 ACE_HEADER Header;
    117 DWORD Mask;
    118 DWORD SidStart;
    119} ACCESS_DENIED_ACE,*LPACCESS_DENIED_ACE;
    120
    121typedef struct _SYSTEM_AUDIT_ACE {
    122 ACE_HEADER Header;
    123 DWORD Mask;
    124 DWORD SidStart;
    125} SYSTEM_AUDIT_ACE,*LPSYSTEM_AUDIT_ACE;
    126
    127typedef 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
    136typedef 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
    146typedef 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
    157typedef 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
    172typedef struct _STRING {
    173 UINT16 Length;
    174 UINT16 MaximumLength;
    175 LPSTR Buffer;
    176} STRING,*LPSTRING,ANSI_STRING,*LPANSI_STRING;
    177
    178typedef struct _CSTRING {
    179 UINT16 Length;
    180 UINT16 MaximumLength;
    181 LPCSTR Buffer;
    182} CSTRING,*LPCSTRING;
    183
    184typedef struct _UNICODE_STRING {
    185 UINT16 Length; /* bytes */
    186 UINT16 MaximumLength; /* bytes */
    187 LPWSTR Buffer;
    188} UNICODE_STRING,*LPUNICODE_STRING;
    189
    190
    191BOOL32 WIN32API IsValidSid(LPSID);
    192BOOL32 WIN32API EqualSid(LPSID,LPSID);
    193BOOL32 WIN32API EqualPrefixSid(LPSID,LPSID);
    194DWORD WIN32API GetSidLengthRequired(BYTE);
    195BOOL32 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 */
    45LPWSTR HEAP_strdupW(HANDLE heap, DWORD flags, LPCWSTR str);
    46LPSTR HEAP_strdupWtoA(HANDLE heap, DWORD flags, LPCWSTR str);
    47
    48
    49
    50typedef 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 );
    60typedef PVOID PIO_APC_ROUTINE;
    61
    62typedef enum _KEY_INFORMATION_CLASS {
    63 KeyBasicInformation,
    64 KeyNodeInformation,
    65 KeyFullInformation
    66} KEY_INFORMATION_CLASS;
    67
    68typedef enum _KEY_VALUE_INFORMATION_CLASS {
    69 KeyValueBasicInformation,
    70 KeyValueFullInformation,
    71 KeyValuePartialInformation,
    72 KeyValueFullInformationAlign64,
    73 KeyValuePartialInformationAlign64
    74} KEY_VALUE_INFORMATION_CLASS;
    75
    76typedef 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
    97typedef 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
    137typedef enum _SECTION_INHERIT
    138{
    139 ViewShare = 1,
    140 ViewUnmap = 2
    141
    142} SECTION_INHERIT;
    143
    144/*
    145 placeholder
    146*/
    147typedef enum _OBJECT_INFORMATION_CLASS
    148{
    149 DunnoTheConstants1
    150
    151} OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS;
    152
    153
    154/*
    155 * NtQuerySystemInformation
    156 */
    157
    158typedef 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... */
    167typedef 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
    176typedef 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
    190typedef 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
    218NTSTATUS 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
    229typedef struct _SYSTEM_TIME_ADJUSTMENT
    230{
    231 ULONG TimeAdjustment;
    232 BOOLEAN TimeAdjustmentDisabled;
    233
    234} SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT;
    235
    236typedef 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
    258typedef 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
    275typedef 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
    308typedef 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
    317NTSTATUS 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
    330typedef enum _TIMER_TYPE
    331{
    332 NotificationTimer,
    333 SynchronizationTimer
    334
    335} TIMER_TYPE;
    336
    337/*
    338 * token functions
    339 */
    340
    341NTSTATUS WINAPI NtOpenProcessToken(
    342 HANDLE ProcessHandle,
    343 DWORD DesiredAccess,
    344 HANDLE *TokenHandle);
    345
    346NTSTATUS WINAPI NtOpenThreadToken(
    347 HANDLE ThreadHandle,
    348 DWORD DesiredAccess,
    349 BOOLEAN OpenAsSelf,
    350 HANDLE *TokenHandle);
    351
    352NTSTATUS 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
    360NTSTATUS WINAPI NtQueryInformationToken(
    361 HANDLE token,
    362 DWORD tokeninfoclass,
    363 LPVOID tokeninfo,
    364 DWORD tokeninfolength,
    365 LPDWORD retlen );
    366
    367/*
    368 * sid functions
    369 */
    370
    371BOOLEAN 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
    384DWORD WINAPI RtlEqualSid(DWORD x1,DWORD x2);
    385DWORD WINAPI RtlFreeSid(DWORD x1);
    386DWORD WINAPI RtlLengthRequiredSid(DWORD nrofsubauths);
    387DWORD WINAPI RtlLengthSid(PSID sid);
    388DWORD WINAPI RtlInitializeSid(PSID PSID,PSID_IDENTIFIER_AUTHORITY PSIDauth, DWORD c);
    389LPDWORD WINAPI RtlSubAuthoritySid(PSID PSID,DWORD nr);
    390LPBYTE WINAPI RtlSubAuthorityCountSid(PSID PSID);
    391DWORD WINAPI RtlCopySid(DWORD len,PSID to,PSID from);
    392
    393/*
    394 * security descriptor functions
    395 */
    396
    397NTSTATUS WINAPI RtlCreateSecurityDescriptor(
    398 PSECURITY_DESCRIPTOR lpsd,
    399 DWORD rev);
    400
    401NTSTATUS WINAPI RtlValidSecurityDescriptor(
    402 PSECURITY_DESCRIPTOR SecurityDescriptor);
    403
    404ULONG WINAPI RtlLengthSecurityDescriptor(
    405 PSECURITY_DESCRIPTOR SecurityDescriptor);
    406
    407NTSTATUS WINAPI RtlGetDaclSecurityDescriptor(
    408 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
    409 OUT PBOOLEAN lpbDaclPresent,
    410 OUT PACL *pDacl,
    411 OUT PBOOLEAN lpbDaclDefaulted);
    412
    413NTSTATUS WINAPI RtlSetDaclSecurityDescriptor (
    414 PSECURITY_DESCRIPTOR lpsd,
    415 BOOLEAN daclpresent,
    416 PACL dacl,
    417 BOOLEAN dacldefaulted );
    418
    419NTSTATUS WINAPI RtlGetSaclSecurityDescriptor(
    420 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
    421 OUT PBOOLEAN lpbSaclPresent,
    422 OUT PACL *pSacl,
    423 OUT PBOOLEAN lpbSaclDefaulted);
    424
    425NTSTATUS WINAPI RtlSetSaclSecurityDescriptor (
    426 PSECURITY_DESCRIPTOR lpsd,
    427 BOOLEAN saclpresent,
    428 PACL sacl,
    429 BOOLEAN sacldefaulted);
    430
    431NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor(
    432 PSECURITY_DESCRIPTOR SecurityDescriptor,
    433 PSID *Owner,
    434 PBOOLEAN OwnerDefaulted);
    435
    436NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor(
    437 PSECURITY_DESCRIPTOR lpsd,
    438 PSID owner,
    439 BOOLEAN ownerdefaulted);
    440
    441NTSTATUS WINAPI RtlSetGroupSecurityDescriptor (
    442 PSECURITY_DESCRIPTOR lpsd,
    443 PSID group,
    444 BOOLEAN groupdefaulted);
    445
    446NTSTATUS WINAPI RtlGetGroupSecurityDescriptor(
    447 PSECURITY_DESCRIPTOR SecurityDescriptor,
    448 PSID *Group,
    449 PBOOLEAN GroupDefaulted);
    450
    451/* ##############################
    452 ###### ACL FUNCTIONS ######
    453 ##############################
    454*/
    455
    456DWORD WINAPI RtlCreateAcl(PACL acl,DWORD size,DWORD rev);
    457
    458BOOLEAN WINAPI RtlFirstFreeAce(
    459 PACL acl,
    460 PACE_HEADER *x);
    461
    462NTSTATUS WINAPI RtlAddAce(
    463 PACL acl,
    464 DWORD rev,
    465 DWORD xnrofaces,
    466 PACE_HEADER acestart,
    467 DWORD acelen);
    468
    469DWORD WINAPI RtlAddAccessAllowedAce(DWORD x1,DWORD x2,DWORD x3,DWORD x4);
    470DWORD WINAPI RtlGetAce(PACL pAcl,DWORD dwAceIndex,LPVOID *pAce );
    471
    472/*
    473 * string functions
    474 */
    475
    476DWORD WINAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING uni,PANSI_STRING ansi,BOOLEAN doalloc);
    477DWORD WINAPI RtlOemStringToUnicodeString(PUNICODE_STRING uni,PSTRING ansi,BOOLEAN doalloc);
    478DWORD WINAPI RtlMultiByteToUnicodeN(LPWSTR unistr,DWORD unilen,LPDWORD reslen,LPSTR oemstr,DWORD oemlen);
    479DWORD WINAPI RtlOemToUnicodeN(LPWSTR unistr,DWORD unilen,LPDWORD reslen,LPSTR oemstr,DWORD oemlen);
    480VOID WINAPI RtlInitAnsiString(PANSI_STRING target,LPCSTR source);
    481VOID WINAPI RtlInitString(PSTRING target,LPCSTR source);
    482VOID WINAPI RtlInitUnicodeString(PUNICODE_STRING target,LPCWSTR source);
    483VOID WINAPI RtlFreeUnicodeString(PUNICODE_STRING str);
    484VOID WINAPI RtlFreeAnsiString(PANSI_STRING AnsiString);
    485DWORD WINAPI RtlUnicodeToOemN(LPSTR oemstr,DWORD oemlen,LPDWORD reslen,LPWSTR unistr,DWORD unilen);
    486DWORD WINAPI RtlUnicodeStringToOemString(PANSI_STRING oem,PUNICODE_STRING uni,BOOLEAN alloc);
    487DWORD WINAPI RtlUnicodeStringToAnsiString(PANSI_STRING oem,PUNICODE_STRING uni,BOOLEAN alloc);
    488DWORD WINAPI RtlEqualUnicodeString(PUNICODE_STRING s1,PUNICODE_STRING s2,DWORD x);
    489DWORD WINAPI RtlUpcaseUnicodeString(PUNICODE_STRING dest,PUNICODE_STRING src,BOOLEAN doalloc);
    490UINT WINAPI RtlxOemStringToUnicodeSize(PSTRING str);
    491UINT WINAPI RtlxAnsiStringToUnicodeSize(PANSI_STRING str);
    492DWORD WINAPI RtlIsTextUnicode(LPVOID buf, DWORD len, DWORD *pf);
    493DWORD WINAPI RtlCompareUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive);
    494
    495/*
    496 * resource functions
    497 */
    498
    499typedef 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
    511VOID WINAPI RtlInitializeResource(
    512 LPRTL_RWLOCK);
    513
    514VOID WINAPI RtlDeleteResource(
    515 LPRTL_RWLOCK);
    516
    517BYTE WINAPI RtlAcquireResourceExclusive(
    518 LPRTL_RWLOCK, BYTE fWait);
    519
    520BYTE WINAPI RtlAcquireResourceShared(
    521 LPRTL_RWLOCK, BYTE fWait);
    522
    523VOID WINAPI RtlReleaseResource(
    524 LPRTL_RWLOCK);
    525
    526VOID WINAPI RtlDumpResource(
    527 LPRTL_RWLOCK);
    528
    529/*
    530 time functions
    531 */
    532
    533typedef 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
    544typedef TIME_FIELDS *PTIME_FIELDS;
    545
    546VOID WINAPI RtlSystemTimeToLocalTime(
    547 IN PLARGE_INTEGER SystemTime,
    548 OUT PLARGE_INTEGER LocalTime);
    549
    550VOID WINAPI RtlTimeToTimeFields(
    551 PLARGE_INTEGER liTime,
    552 PTIME_FIELDS TimeFields);
    553
    554BOOLEAN WINAPI RtlTimeFieldsToTime(
    555 PTIME_FIELDS tfTimeFields,
    556 PLARGE_INTEGER Time);
    557
    558VOID WINAPI RtlTimeToElapsedTimeFields(
    559 PLARGE_INTEGER liTime,
    560 PTIME_FIELDS TimeFields);
    561
    562BOOLEAN WINAPI RtlTimeToSecondsSince1980(
    563 LPFILETIME ft,
    564 LPDWORD timeret);
    565
    566BOOLEAN 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
    578typedef struct
    579{ ULONG Length; /* = sizeof(RTL_HEAP_DEFINITION) */
    580 ULONG Unknown[11];
    581} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
    582
    583HANDLE WINAPI RtlCreateHeap(
    584 ULONG Flags,
    585 PVOID BaseAddress,
    586 ULONG SizeToReserve,
    587 ULONG SizeToCommit,
    588 PVOID Unknown,
    589 PRTL_HEAP_DEFINITION Definition);
    590
    591PVOID WINAPI RtlAllocateHeap(
    592 HANDLE Heap,
    593 ULONG Flags,
    594 ULONG Size);
    595
    596
    597BOOLEAN WINAPI RtlFreeHeap(
    598 HANDLE Heap,
    599 ULONG Flags,
    600 PVOID Address);
    601
    602/*
    603 * misc
    604 */
    605void __cdecl DbgPrint(LPCSTR fmt,LPVOID args);
    606DWORD NtRaiseException ( DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments,CONST ULONG_PTR *lpArguments);
    607DWORD RtlRaiseException ( DWORD x);
    608VOID WINAPI RtlAcquirePebLock(void);
    609VOID WINAPI RtlReleasePebLock(void);
    610DWORD WINAPI RtlAdjustPrivilege(DWORD x1,DWORD x2,DWORD x3,DWORD x4);
    611DWORD WINAPI RtlIntegerToChar(DWORD x1,DWORD x2,DWORD x3,DWORD x4);
    612DWORD WINAPI RtlSetEnvironmentVariable(DWORD x1,PUNICODE_STRING key,PUNICODE_STRING val);
    613DWORD WINAPI RtlNewSecurityObject(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6);
    614DWORD WINAPI RtlDeleteSecurityObject(DWORD x1);
    615LPVOID WINAPI RtlNormalizeProcessParams(LPVOID x);
    616DWORD WINAPI RtlNtStatusToDosError(DWORD error);
    617BOOLEAN WINAPI RtlGetNtProductType(LPDWORD type);
    618INT WINAPI RtlExtendedLargeIntegerDivide(LARGE_INTEGER dividend, DWORD divisor, LPDWORD rest);
    619LARGE_INTEGER WINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1,INT factor2);
    620DWORD WINAPI RtlFormatCurrentUserKeyPath(DWORD x);
    621DWORD WINAPI RtlOpenCurrentUser(DWORD x1, DWORD *x2);
    622BOOLEAN WINAPI RtlDosPathNameToNtPathName_U( LPWSTR from,PUNICODE_STRING us,DWORD x2,DWORD x3);
    623DWORD WINAPI RtlCreateEnvironment(DWORD x1,DWORD x2);
    624DWORD WINAPI RtlDestroyEnvironment(DWORD x);
    625DWORD WINAPI RtlQueryEnvironmentVariable_U(DWORD x1,PUNICODE_STRING key,PUNICODE_STRING val) ;
    626
    627BOOL WINAPI IsValidSid(PSID);
    628BOOL WINAPI EqualSid(PSID,PSID);
    629BOOL WINAPI EqualPrefixSid(PSID,PSID);
    630DWORD WINAPI GetSidLengthRequired(BYTE);
    631BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,
    196632 DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,
    197 DWORD,(削除) L (削除ここまで)PSID*);
    198VOID* WIN(削除) 32API FreeSid(L (削除ここまで)PSID);
    199BOOL(削除) 32 WIN32 (削除ここまで)API InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD);
    200BOOL(削除) 32 WIN32API InitializeSid(LPSID,L (削除ここまで)PSID_IDENTIFIER_AUTHORITY,BYTE);
    201DWORD* WIN(削除) 32API GetSidSubAuthority(L (削除ここまで)PSID,DWORD);
    202BYTE * WIN(削除) 32API GetSidSubAuthorityCount(L (削除ここまで)PSID);
    203DWORD WIN(削除) 32API GetLengthSid(L (削除ここまで)PSID);
    204BOOL(削除) 32 WIN32API CopySid(DWORD,LPSID,L (削除ここまで)PSID);
    205BOOL(削除) 32 WIN32API LookupAccountSid32 (削除ここまで)A(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD,
    633 DWORD,(追記) (追記ここまで)PSID*);
    634VOID* WIN(追記) API FreeSid( (追記ここまで)PSID);
    635BOOL(追記) WIN (追記ここまで)API InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD);
    636BOOL(追記) WINAPI InitializeSid(PSID, (追記ここまで)PSID_IDENTIFIER_AUTHORITY,BYTE);
    637DWORD* WIN(追記) API GetSidSubAuthority( (追記ここまで)PSID,DWORD);
    638BYTE * WIN(追記) API GetSidSubAuthorityCount( (追記ここまで)PSID);
    639DWORD WIN(追記) API GetLengthSid( (追記ここまで)PSID);
    640BOOL(追記) WINAPI CopySid(DWORD,PSID, (追記ここまで)PSID);
    641BOOL(追記) WINAPI LookupAccountSid (追記ここまで)A(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD,
    206642 PSID_NAME_USE);
    207BOOL(削除) 32 WIN32API LookupAccountSid32 (削除ここまで)W(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD,
    643BOOL(追記) WINAPI LookupAccountSid (追記ここまで)W(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD,
    208644 PSID_NAME_USE);
    209LPSID_IDENTIFIER_AUTHORITY WIN32API GetSidIdentifierAuthority(LPSID);
    210
    211
    645PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
    212646
    213647#ifdef __cplusplus
    215649#endif
    216650
    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 $ */
    22
    33/* Copyright (C) 1995 by Holger Veit (Holger.Veit@gmd.de) */
    1313extern "C" {
    1414#endif
    15(追記) (追記ここまで)
    16(追記) #include <odin.h> (追記ここまで)
    17(追記) #include <builtin.h> (追記ここまで)
    1518
    1619extern int CDECL io_init(void);
  • /trunk/src/kernel32/conprop.cpp

    r20 r30
    3737#include <stdarg.h>
    3838#include <stdio.h>
    39(追記) (追記ここまで)
    40(追記) #include <odin.h> (追記ここまで)
    3941#include "win32type.h"
    4042#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 $ */
    22
    33/*
    1414 */
    1515#include <os2win.h>
    16(追記) #include "misc.h" (追記ここまで)
    17(追記) (追記ここまで)
    1618#include "unicode.h"
    1719#include "winres.h"
    1820#include "winimage.h"
    1921#include "winexe.h"
    20(削除) #include "misc.h" (削除ここまで)
    2122
    2223
  • /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 $ */
    22
    33/*
    11431143
    11441144/*************************************************************************
    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(削除) /************************************************************************* (削除ここまで)
    11991145 * SHELL32_100 [SHELL32.100]
    12001146 * walks through policy table, queries <app> key, <type> value, returns
    16631609}
    16641610
    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(追記) } (追記ここまで)
    16651740
    16661741
  • /trunk/src/shell32/shell32.def

    r20 r30
    1414 ExtractIconA = _ExtractIconA@12 @131
    1515 ExtractIconW = _ExtractIconW@12 @178
    16(追記) ShellMessageBoxW = _ShellMessageBoxW@24 @182 (追記ここまで)
    17(追記) ShellMessageBoxA = _ShellMessageBoxA@24 @183 (追記ここまで)
    1618 FindExecutableA = _FindExecutableA@12 @184
    1719 FindExecutableW = _FindExecutableW@12
    9294 _SHELL32_175@16 @175
    9395 _SHELL32_181@8 @181
    94(削除) _SHELL32_183@24 @183 (削除ここまで)
    9596 _SHELL32_195@4 @195
    9697 _SHELL32_196@4 @196
Note: See TracChangeset for help on using the changeset viewer.

AltStyle によって変換されたページ (->オリジナル) /