Changeset 180

Show
Ignore:
Timestamp:
03/16/07 13:24:20 (5 years ago)
Author:
smjg
Message:

Added rassapi, rpcdce2, reason; updated versioning to include Windows Vista; a few cleanups

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/win32/core.d

    r155 r180  
    3131// We can't use static if for imports, build gets confused. 
    3232// static if (_WIN32_WINNT_ONLY) import win32.winsvc; 
    33 version (Windows2003) { 
     33version (WindowsVista) { 
     34    version = WIN32_WINNT_ONLY; 
     35} else version (Windows2003) { 
    3436    version = WIN32_WINNT_ONLY; 
    3537} else version (WindowsXP) { 
  • trunk/win32/lm.d

    r165 r180  
    1010module win32.lm; 
    1111 
    12 version (Windows2003) { 
     12version (WindowsVista) { 
     13    version = WIN32_WINNT_ONLY; 
     14} else version (Windows2003) { 
    1315    version = WIN32_WINNT_ONLY; 
    1416} else version (WindowsXP) { 
    1517    version = WIN32_WINNT_ONLY; 
    16 } else version(WindowsNTonly) { 
     18} else version (WindowsNTonly) { 
    1719    version = WIN32_WINNT_ONLY; 
    1820} 
     
    3436    public import win32.lmserver; 
    3537} 
    36 version (Windows2003) { 
     38version (WindowsVista) { 
     39    public import win32.lmmsg; 
     40} else version (Windows2003) { 
    3741    public import win32.lmmsg; 
    3842} else version (WindowsXP) { 
  • trunk/win32/rpcdce.d

    r155 r180  
    205205static if(_WIN32_WINNT_ONLY) { 
    206206 
    207 struct RPC_PROTSEQ_VECTORA { 
    208     uint Count; 
    209     ubyte*[1] Protseq; 
    210 
    211  
    212 struct RPC_PROTSEQ_VECTORW { 
    213     uint Count; 
    214     ushort*[1] Protseq; 
    215 
    216  
    217 extern (Windows) { 
    218     RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*); 
    219     RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*); 
    220     RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**); 
    221     RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**); 
    222     RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**); 
    223     RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**); 
    224     RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**); 
    225     RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**); 
    226     RPC_STATUS RpcStringFreeA(char**); 
    227     RPC_STATUS RpcStringFreeW(wchar**); 
    228     RPC_STATUS RpcNetworkIsProtseqValidA(char*); 
    229     RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); 
    230     RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); 
    231     RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); 
    232     RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); 
    233     RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); 
    234     RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); 
    235     RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); 
    236     RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY); 
    237     RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY); 
    238     RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); 
    239     RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY); 
    240     RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); 
    241     RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY); 
    242     RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*); 
    243     RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 
    244     RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*); 
    245     RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 
    246     RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**); 
    247     RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**); 
    248     RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); 
    249     RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); 
    250     RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**); 
    251     RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**); 
    252     RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*); 
    253     RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*); 
    254     RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 
    255     RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 
    256     RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 
    257     RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 
    258     RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 
    259     RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 
    260     RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 
    261     RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 
    262     alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN; 
    263     RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 
    264     RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 
    265     RPC_STATUS UuidToStringA(UUID*, char**); 
    266     RPC_STATUS UuidFromStringA(char*, UUID*); 
    267     RPC_STATUS UuidToStringW(UUID*, wchar**); 
    268     RPC_STATUS UuidFromStringW(wchar*, UUID*); 
    269     RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 
    270     RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 
    271     RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 
    272     RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 
    273     RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 
    274     RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 
    275     RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**); 
    276     RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**); 
    277  
    278     // MinGW erroneously had these in rpc.h 
    279     RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); 
    280     RPC_STATUS RpcRevertToSelf(); 
    281 
    282  
    283 version(Unicode) { 
    284     alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR; 
    285     alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY; 
    286     alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY; 
    287     alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; 
    288     alias RpcBindingFromStringBindingW RpcBindingFromStringBinding; 
    289     alias RpcBindingToStringBindingW RpcBindingToStringBinding; 
    290     alias RpcStringBindingComposeW RpcStringBindingCompose; 
    291     alias RpcStringBindingParseW RpcStringBindingParse; 
    292     alias RpcStringFreeW RpcStringFree; 
    293     alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid; 
    294     alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs; 
    295     alias RpcProtseqVectorFreeW RpcProtseqVectorFree; 
    296     alias RpcServerUseProtseqW RpcServerUseProtseq; 
    297     alias RpcServerUseProtseqExW RpcServerUseProtseqEx; 
    298     alias RpcServerUseProtseqEpW RpcServerUseProtseqEp; 
    299     alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx; 
    300     alias RpcServerUseProtseqIfW RpcServerUseProtseqIf; 
    301     alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx; 
    302     alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName; 
    303     alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName; 
    304     alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName; 
    305     alias RpcBindingInqAuthClientW RpcBindingInqAuthClient; 
    306     alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo; 
    307     alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo; 
    308     alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo; 
    309     alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx; 
    310     alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx; 
    311     alias UuidFromStringW UuidFromString; 
    312     alias UuidToStringW UuidToString; 
    313     alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace; 
    314     alias RpcEpRegisterW RpcEpRegister; 
    315     alias DceErrorInqTextW DceErrorInqText; 
    316 } else { // Ansi 
    317     alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR; 
    318     alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY; 
    319     alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY; 
    320     alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; 
    321     alias RpcBindingFromStringBindingA RpcBindingFromStringBinding; 
    322     alias RpcBindingToStringBindingA RpcBindingToStringBinding; 
    323     alias RpcStringBindingComposeA RpcStringBindingCompose; 
    324     alias RpcStringBindingParseA RpcStringBindingParse; 
    325     alias RpcStringFreeA RpcStringFree; 
    326     alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid; 
    327     alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs; 
    328     alias RpcProtseqVectorFreeA RpcProtseqVectorFree; 
    329     alias RpcServerUseProtseqA RpcServerUseProtseq; 
    330     alias RpcServerUseProtseqExA RpcServerUseProtseqEx; 
    331     alias RpcServerUseProtseqEpA RpcServerUseProtseqEp; 
    332     alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx; 
    333     alias RpcServerUseProtseqIfA RpcServerUseProtseqIf; 
    334     alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx; 
    335     alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName; 
    336     alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName; 
    337     alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName; 
    338     alias RpcBindingInqAuthClientA RpcBindingInqAuthClient; 
    339     alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo; 
    340     alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo; 
    341     alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo; 
    342     alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx; 
    343     alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx; 
    344     alias UuidFromStringA UuidFromString; 
    345     alias UuidToStringA UuidToString; 
    346     alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace; 
    347     alias RpcEpRegisterA RpcEpRegister; 
    348     alias DceErrorInqTextA DceErrorInqText; 
    349 } //#endif // UNICODE 
     207   struct RPC_PROTSEQ_VECTORA { 
     208       uint Count; 
     209       ubyte*[1] Protseq; 
     210   
     211 
     212   struct RPC_PROTSEQ_VECTORW { 
     213       uint Count; 
     214       ushort*[1] Protseq; 
     215   
     216 
     217   extern (Windows) { 
     218       RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*); 
     219       RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*); 
     220       RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**); 
     221       RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**); 
     222       RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**); 
     223       RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**); 
     224       RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**); 
     225       RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**); 
     226       RPC_STATUS RpcStringFreeA(char**); 
     227       RPC_STATUS RpcStringFreeW(wchar**); 
     228       RPC_STATUS RpcNetworkIsProtseqValidA(char*); 
     229       RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); 
     230       RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); 
     231       RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); 
     232       RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); 
     233       RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); 
     234       RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); 
     235       RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); 
     236       RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY); 
     237       RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY); 
     238       RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); 
     239       RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY); 
     240       RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); 
     241       RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY); 
     242       RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*); 
     243       RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 
     244       RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*); 
     245       RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 
     246       RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**); 
     247       RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**); 
     248       RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); 
     249       RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); 
     250       RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**); 
     251       RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**); 
     252       RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*); 
     253       RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*); 
     254       RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 
     255       RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 
     256       RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 
     257       RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 
     258       RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 
     259       RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 
     260       RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 
     261       RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 
     262       alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN; 
     263       RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 
     264       RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 
     265       RPC_STATUS UuidToStringA(UUID*, char**); 
     266       RPC_STATUS UuidFromStringA(char*, UUID*); 
     267       RPC_STATUS UuidToStringW(UUID*, wchar**); 
     268       RPC_STATUS UuidFromStringW(wchar*, UUID*); 
     269       RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 
     270       RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 
     271       RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 
     272       RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 
     273       RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 
     274       RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 
     275       RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**); 
     276       RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**); 
     277 
     278       // MinGW erroneously had these in rpc.h 
     279       RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); 
     280       RPC_STATUS RpcRevertToSelf(); 
     281   
     282 
     283   version(Unicode) { 
     284       alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR; 
     285       alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY; 
     286       alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY; 
     287       alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; 
     288       alias RpcBindingFromStringBindingW RpcBindingFromStringBinding; 
     289       alias RpcBindingToStringBindingW RpcBindingToStringBinding; 
     290       alias RpcStringBindingComposeW RpcStringBindingCompose; 
     291       alias RpcStringBindingParseW RpcStringBindingParse; 
     292       alias RpcStringFreeW RpcStringFree; 
     293       alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid; 
     294       alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs; 
     295       alias RpcProtseqVectorFreeW RpcProtseqVectorFree; 
     296       alias RpcServerUseProtseqW RpcServerUseProtseq; 
     297       alias RpcServerUseProtseqExW RpcServerUseProtseqEx; 
     298       alias RpcServerUseProtseqEpW RpcServerUseProtseqEp; 
     299       alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx; 
     300       alias RpcServerUseProtseqIfW RpcServerUseProtseqIf; 
     301       alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx; 
     302       alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName; 
     303       alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName; 
     304       alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName; 
     305       alias RpcBindingInqAuthClientW RpcBindingInqAuthClient; 
     306       alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo; 
     307       alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo; 
     308       alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo; 
     309       alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx; 
     310       alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx; 
     311       alias UuidFromStringW UuidFromString; 
     312       alias UuidToStringW UuidToString; 
     313       alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace; 
     314       alias RpcEpRegisterW RpcEpRegister; 
     315       alias DceErrorInqTextW DceErrorInqText; 
     316   } else { // Ansi 
     317       alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR; 
     318       alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY; 
     319       alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY; 
     320       alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; 
     321       alias RpcBindingFromStringBindingA RpcBindingFromStringBinding; 
     322       alias RpcBindingToStringBindingA RpcBindingToStringBinding; 
     323       alias RpcStringBindingComposeA RpcStringBindingCompose; 
     324       alias RpcStringBindingParseA RpcStringBindingParse; 
     325       alias RpcStringFreeA RpcStringFree; 
     326       alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid; 
     327       alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs; 
     328       alias RpcProtseqVectorFreeA RpcProtseqVectorFree; 
     329       alias RpcServerUseProtseqA RpcServerUseProtseq; 
     330       alias RpcServerUseProtseqExA RpcServerUseProtseqEx; 
     331       alias RpcServerUseProtseqEpA RpcServerUseProtseqEp; 
     332       alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx; 
     333       alias RpcServerUseProtseqIfA RpcServerUseProtseqIf; 
     334       alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx; 
     335       alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName; 
     336       alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName; 
     337       alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName; 
     338       alias RpcBindingInqAuthClientA RpcBindingInqAuthClient; 
     339       alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo; 
     340       alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo; 
     341       alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo; 
     342       alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx; 
     343       alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx; 
     344       alias UuidFromStringA UuidFromString; 
     345       alias UuidToStringA UuidToString; 
     346       alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace; 
     347       alias RpcEpRegisterA RpcEpRegister; 
     348       alias DceErrorInqTextA DceErrorInqText; 
     349   } //#endif // UNICODE 
    350350 
    351351} else { // _WIN32_WINNT_ONLY 
  • trunk/win32/testall.d

    r175 r180  
    5050import win32.subauth; 
    5151import win32.rasdlg; 
     52import win32.rassapi; 
    5253 
    5354import win32.mapi; 
     
    7576import win32.dbt; 
    7677 
    77 version (Windows2003) { 
     78import win32.rpcdce2; 
     79 
     80 
     81version (WindowsVista) { 
     82    version = WINDOWS_XP_UP; 
     83} else version (Windows2003) { 
     84    version = WINDOWS_XP_UP; 
     85} else version (WindowsXP) { 
     86    version = WINDOWS_XP_UP; 
     87
     88 
     89version (WINDOWS_XP_UP) { 
    7890    import win32.dhcpcsdk; 
    7991    import win32.errorrep; 
    80     import win32.secext; 
    81 } else version (WindowsXP) { 
    82     import win32.dhcpcsdk; 
    83     import win32.errorrep; 
     92    import win32.reason; 
    8493    import win32.secext; 
    8594} else version (WindowsNTonly) { 
  • trunk/win32/testcompile.bat

    r170 r180  
    1818@if errorlevel 1 goto abort 
    1919dmd -I.. -c -version=Windows2003 testall.d 
     20@if errorlevel 1 goto abort 
     21dmd -I.. -c -version=WindowsVista testall.d 
    2022@if errorlevel 1 goto abort 
    2123dmd -I.. -c -version=Win32_Winsock1 testall.d 
     
    4244dmd -I.. -c -version=Unicode -version=Windows2003 testall.d 
    4345@if errorlevel 1 goto abort 
     46dmd -I.. -c -version=Unicode -version=WindowsVista testall.d 
     47@if errorlevel 1 goto abort 
    4448dmd -I.. -c -version=Unicode -version=Win32_Winsock1 testall.d 
    4549del testall.obj 
  • trunk/win32/w32api.d

    r155 r180  
    2222 *  version.  If no Windows NT version is specified, Windows NT 4 is 
    2323 *  assumed.  If no Windows 9x version is specified, Windows 95 is 
    24  *  assumed, unless WindowsNTonly, WindowsXP or Windows2003 is specified, 
    25  *  implying that the application supports only Windows NT. 
     24 *  assumed, unless WindowsNTonly, WindowsXP, Windows2003 or WindowsVista 
     25 *  is specified, implying that the application supports only the NT line of 
     26 *  versions. 
    2627 */ 
    2728 
    28 // For Windows XP and later, assume no Windows 9x support 
    29 version (Windows2003) { 
     29/*  For Windows XP and later, assume no Windows 9x support. 
     30 *  API features new to Windows Vista are not yet included in this 
     31 *  translation or in MinGW, but this is here ready to start adding them. 
     32 */ 
     33version (WindowsVista) { 
     34    const uint 
     35        _WIN32_WINNT   = 0x600, 
     36        _WIN32_WINDOWS = uint.max; 
     37 
     38} else version (Windows2003) { 
    3039    const uint 
    3140        _WIN32_WINNT   = 0x502, 
  • trunk/win32/windows.d

    r172 r180  
    2727 
    2828// We can't use static if for imports, build gets confused. 
    29 version (Windows2003) { 
     29version (WindowsVista) { 
     30    public import win32.winsvc; 
     31} else version (Windows2003) { 
    3032    public import win32.winsvc; 
    3133} else version (WindowsXP) { 
     
    4345public import win32.mmsystem; 
    4446public import win32.nb30; 
    45 //public import win32.rpc; 
     47public import win32.rpc; 
    4648public import win32.shellapi; 
    4749public import win32.winperf;