/* libnetapi interface definition */ cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))") cpp_quote("#ifndef MAXSUBAUTHS") cpp_quote("#define MAXSUBAUTHS 15 /* max sub authorities in a SID */") cpp_quote("#endif") import "misc.idl"; [ pointer_default(unique) ] interface libnetapi { const int ERROR_MORE_DATA = 234L; [public] typedef [v1_enum] enum { NERR_Success=0 } NET_API_STATUS; [public] typedef struct { uint8 sid_rev_num; uint8 num_auths; uint8 id_auth[6]; uint32 sub_auths[MAXSUBAUTHS]; } domsid; /*******************************************/ /* NetJoinDomain */ /*******************************************/ typedef [public,bitmap32bit] bitmap { NETSETUP_JOIN_DOMAIN = 0x00000001, NETSETUP_ACCT_CREATE = 0x00000002, NETSETUP_ACCT_DELETE = 0x00000004, NETSETUP_WIN9X_UPGRADE = 0x00000010, NETSETUP_DOMAIN_JOIN_IF_JOINED = 0x00000020, NETSETUP_JOIN_UNSECURE = 0x00000040, NETSETUP_MACHINE_PWD_PASSED = 0x00000080, NETSETUP_DEFER_SPN_SET = 0x00000100, NETSETUP_JOIN_DC_ACCOUNT = 0x00000200, NETSETUP_JOIN_WITH_NEW_NAME = 0x00000400, NETSETUP_INSTALL_INVOCATION = 0x00040000, NETSETUP_IGNORE_UNSUPPORTED_FLAGS = 0x10000000 } NetJoinFlags; [nopush,nopull] NET_API_STATUS NetJoinDomain( [in,unique] string *server, [in,ref] string *domain, [in,unique] string *account_ou, [in,unique] string *account, [in,unique] string *password, [in] NetJoinFlags join_flags ); /*******************************************/ /* NetUnjoinDomain */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUnjoinDomain( [in,unique] string *server_name, [in,unique] string *account, [in,unique] string *password, [in] NetJoinFlags unjoin_flags ); /*******************************************/ /* NetGetJoinInformation */ /*******************************************/ typedef enum { NetSetupUnknownStatus = 0, NetSetupUnjoined = 1, NetSetupWorkgroupName = 2, NetSetupDomainName = 3 } NETSETUP_JOIN_STATUS; [nopush,nopull] NET_API_STATUS NetGetJoinInformation( [in,unique] string *server_name, [out] string **name_buffer, [out] uint16 *name_type ); /*******************************************/ /* NetGetJoinableOUs */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGetJoinableOUs( [in,unique] string *server_name, [in,ref] string *domain, [in,unique] string *account, [in,unique] string *password, [out] uint32 *ou_count, [out] string ***ous ); /*******************************************/ /* NetRenameMachineInDomain */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetRenameMachineInDomain( [in] string server_name, [in] string new_machine_name, [in] string account, [in] string password, [in] uint32 rename_options ); /*******************************************/ /* NetServerGetInfo */ /*******************************************/ [public] typedef struct { uint32 sv100_platform_id; string sv100_name; } SERVER_INFO_100; [public] typedef struct { uint32 sv101_platform_id; string sv101_name; uint32 sv101_version_major; uint32 sv101_version_minor; uint32 sv101_type; string sv101_comment; } SERVER_INFO_101; [public] typedef struct { uint32 sv102_platform_id; string sv102_name; uint32 sv102_version_major; uint32 sv102_version_minor; uint32 sv102_type; string sv102_comment; uint32 sv102_users; uint32 sv102_disc; boolean8 sv102_hidden; uint32 sv102_announce; uint32 sv102_anndelta; uint32 sv102_licenses; string sv102_userpath; } SERVER_INFO_102; [public] typedef struct { uint32 sv402_ulist_mtime; uint32 sv402_glist_mtime; uint32 sv402_alist_mtime; string sv402_alerts; uint32 sv402_security; uint32 sv402_numadmin; uint32 sv402_lanmask; string sv402_guestacct; uint32 sv402_chdevs; uint32 sv402_chdevq; uint32 sv402_chdevjobs; uint32 sv402_connections; uint32 sv402_shares; uint32 sv402_openfiles; uint32 sv402_sessopens; uint32 sv402_sessvcs; uint32 sv402_sessreqs; uint32 sv402_opensearch; uint32 sv402_activelocks; uint32 sv402_numreqbuf; uint32 sv402_sizreqbuf; uint32 sv402_numbigbuf; uint32 sv402_numfiletasks; uint32 sv402_alertsched; uint32 sv402_erroralert; uint32 sv402_logonalert; uint32 sv402_accessalert; uint32 sv402_diskalert; uint32 sv402_netioalert; uint32 sv402_maxauditsz; string sv402_srvheuristics; } SERVER_INFO_402; [public] typedef struct { uint32 sv403_ulist_mtime; uint32 sv403_glist_mtime; uint32 sv403_alist_mtime; string sv403_alerts; uint32 sv403_security; uint32 sv403_numadmin; uint32 sv403_lanmask; string sv403_guestacct; uint32 sv403_chdevs; uint32 sv403_chdevq; uint32 sv403_chdevjobs; uint32 sv403_connections; uint32 sv403_shares; uint32 sv403_openfiles; uint32 sv403_sessopens; uint32 sv403_sessvcs; uint32 sv403_sessreqs; uint32 sv403_opensearch; uint32 sv403_activelocks; uint32 sv403_numreqbuf; uint32 sv403_sizreqbuf; uint32 sv403_numbigbuf; uint32 sv403_numfiletasks; uint32 sv403_alertsched; uint32 sv403_erroralert; uint32 sv403_logonalert; uint32 sv403_accessalert; uint32 sv403_diskalert; uint32 sv403_netioalert; uint32 sv403_maxauditsz; string sv403_srvheuristics; uint32 sv403_auditedevents; uint32 sv403_autoprofile; string sv403_autopath; } SERVER_INFO_403; [public] typedef struct { uint32 sv502_sessopens; uint32 sv502_sessvcs; uint32 sv502_opensearch; uint32 sv502_sizreqbuf; uint32 sv502_initworkitems; uint32 sv502_maxworkitems; uint32 sv502_rawworkitems; uint32 sv502_irpstacksize; uint32 sv502_maxrawbuflen; uint32 sv502_sessusers; uint32 sv502_sessconns; uint32 sv502_maxpagedmemoryusage; uint32 sv502_maxnonpagedmemoryusage; boolean8 sv502_enablesoftcompat; boolean8 sv502_enableforcedlogoff; boolean8 sv502_timesource; boolean8 sv502_acceptdownlevelapis; boolean8 sv502_lmannounce; } SERVER_INFO_502; [public] typedef struct { uint32 sv503_sessopens; uint32 sv503_sessvcs; uint32 sv503_opensearch; uint32 sv503_sizreqbuf; uint32 sv503_initworkitems; uint32 sv503_maxworkitems; uint32 sv503_rawworkitems; uint32 sv503_irpstacksize; uint32 sv503_maxrawbuflen; uint32 sv503_sessusers; uint32 sv503_sessconns; uint32 sv503_maxpagedmemoryusage; uint32 sv503_maxnonpagedmemoryusage; boolean8 sv503_enablesoftcompat; boolean8 sv503_enableforcedlogoff; boolean8 sv503_timesource; boolean8 sv503_acceptdownlevelapis; boolean8 sv503_lmannounce; string sv503_domain; uint32 sv503_maxcopyreadlen; uint32 sv503_maxcopywritelen; uint32 sv503_minkeepsearch; uint32 sv503_maxkeepsearch; uint32 sv503_minkeepcomplsearch; uint32 sv503_maxkeepcomplsearch; uint32 sv503_threadcountadd; uint32 sv503_numblockthreads; uint32 sv503_scavtimeout; uint32 sv503_minrcvqueue; uint32 sv503_minfreeworkitems; uint32 sv503_xactmemsize; uint32 sv503_threadpriority; uint32 sv503_maxmpxct; uint32 sv503_oplockbreakwait; uint32 sv503_oplockbreakresponsewait; boolean8 sv503_enableoplocks; boolean8 sv503_enableoplockforceclose; boolean8 sv503_enablefcbopens; boolean8 sv503_enableraw; boolean8 sv503_enablesharednetdrives; uint32 sv503_minfreeconnections; uint32 sv503_maxfreeconnections; } SERVER_INFO_503; [public] typedef struct { uint32 sv599_sessopens; uint32 sv599_sessvcs; uint32 sv599_opensearch; uint32 sv599_sizreqbuf; uint32 sv599_initworkitems; uint32 sv599_maxworkitems; uint32 sv599_rawworkitems; uint32 sv599_irpstacksize; uint32 sv599_maxrawbuflen; uint32 sv599_sessusers; uint32 sv599_sessconns; uint32 sv599_maxpagedmemoryusage; uint32 sv599_maxnonpagedmemoryusage; boolean8 sv599_enablesoftcompat; boolean8 sv599_enableforcedlogoff; boolean8 sv599_timesource; boolean8 sv599_acceptdownlevelapis; boolean8 sv599_lmannounce; string sv599_domain; uint32 sv599_maxcopyreadlen; uint32 sv599_maxcopywritelen; uint32 sv599_minkeepsearch; uint32 sv599_maxkeepsearch; uint32 sv599_minkeepcomplsearch; uint32 sv599_maxkeepcomplsearch; uint32 sv599_threadcountadd; uint32 sv599_numblockthreads; uint32 sv599_scavtimeout; uint32 sv599_minrcvqueue; uint32 sv599_minfreeworkitems; uint32 sv599_xactmemsize; uint32 sv599_threadpriority; uint32 sv599_maxmpxct; uint32 sv599_oplockbreakwait; uint32 sv599_oplockbreakresponsewait; boolean8 sv599_enableoplocks; boolean8 sv599_enableoplockforceclose; boolean8 sv599_enablefcbopens; boolean8 sv599_enableraw; boolean8 sv599_enablesharednetdrives; uint32 sv599_minfreeconnections; uint32 sv599_maxfreeconnections; uint32 sv599_initsesstable; uint32 sv599_initconntable; uint32 sv599_initfiletable; uint32 sv599_initsearchtable; uint32 sv599_alertschedule; uint32 sv599_errorthreshold; uint32 sv599_networkerrorthreshold; uint32 sv599_diskspacethreshold; uint32 sv599_reserved; uint32 sv599_maxlinkdelay; uint32 sv599_minlinkthroughput; uint32 sv599_linkinfovalidtime; uint32 sv599_scavqosinfoupdatetime; uint32 sv599_maxworkitemidletime; } SERVER_INFO_599; [public] typedef struct { uint32 sv598_maxrawworkitems; uint32 sv598_maxthreadsperqueue; uint32 sv598_producttype; uint32 sv598_serversize; uint32 sv598_connectionlessautodisc; uint32 sv598_sharingviolationretries; uint32 sv598_sharingviolationdelay; uint32 sv598_maxglobalopensearch; uint32 sv598_removeduplicatesearches; uint32 sv598_lockviolationoffset; uint32 sv598_lockviolationdelay; uint32 sv598_mdlreadswitchover; uint32 sv598_cachedopenlimit; uint32 sv598_otherqueueaffinity; boolean8 sv598_restrictnullsessaccess; boolean8 sv598_enablewfw311directipx; uint32 sv598_queuesamplesecs; uint32 sv598_balancecount; uint32 sv598_preferredaffinity; uint32 sv598_maxfreerfcbs; uint32 sv598_maxfreemfcbs; uint32 sv598_maxfreelfcbs; uint32 sv598_maxfreepagedpoolchunks; uint32 sv598_minpagedpoolchunksize; uint32 sv598_maxpagedpoolchunksize; boolean8 sv598_sendsfrompreferredprocessor; uint32 sv598_cacheddirectorylimit; uint32 sv598_maxcopylength; boolean8 sv598_enablecompression; boolean8 sv598_autosharewks; boolean8 sv598_autoshareserver; boolean8 sv598_enablesecuritysignature; boolean8 sv598_requiresecuritysignature; uint32 sv598_minclientbuffersize; GUID sv598_serverguid; uint32 sv598_ConnectionNoSessionsTimeout; uint32 sv598_IdleThreadTimeOut; boolean8 sv598_enableW9xsecuritysignature; boolean8 sv598_enforcekerberosreauthentication; boolean8 sv598_disabledos; uint32 sv598_lowdiskspaceminimum; boolean8 sv598_disablestrictnamechecking; } SERVER_INFO_598; [public] typedef struct { string sv1005_comment; } SERVER_INFO_1005; [public] typedef struct { uint32 sv1107_users; } SERVER_INFO_1107; [public] typedef struct { int32 sv1010_disc; } SERVER_INFO_1010; [public] typedef struct { boolean8 sv1016_hidden; } SERVER_INFO_1016; [public] typedef struct { uint32 sv1017_announce; } SERVER_INFO_1017; [public] typedef struct { uint32 sv1018_anndelta; } SERVER_INFO_1018; [public] typedef struct { uint32 sv1501_sessopens; } SERVER_INFO_1501; [public] typedef struct { uint32 sv1502_sessvcs; } SERVER_INFO_1502; [public] typedef struct { uint32 sv1503_opensearch; } SERVER_INFO_1503; [public] typedef struct { uint32 sv1506_maxworkitems; } SERVER_INFO_1506; [public] typedef struct { uint32 sv1509_maxrawbuflen; } SERVER_INFO_1509; [public] typedef struct { uint32 sv1510_sessusers; } SERVER_INFO_1510; [public] typedef struct { uint32 sv1511_sessconns; } SERVER_INFO_1511; [public] typedef struct { uint32 sv1512_maxnonpagedmemoryusage; } SERVER_INFO_1512; [public] typedef struct { uint32 sv1513_maxpagedmemoryusage; } SERVER_INFO_1513; [public] typedef struct { boolean8 sv1514_enablesoftcompat; } SERVER_INFO_1514; [public] typedef struct { boolean8 sv1515_enableforcedlogoff; } SERVER_INFO_1515; [public] typedef struct { boolean8 sv1516_timesource; } SERVER_INFO_1516; [public] typedef struct { boolean8 sv1518_lmannounce; } SERVER_INFO_1518; [public] typedef struct { uint32 sv1520_maxcopyreadlen; } SERVER_INFO_1520; [public] typedef struct { uint32 sv1521_maxcopywritelen; } SERVER_INFO_1521; [public] typedef struct { uint32 sv1522_minkeepsearch; } SERVER_INFO_1522; [public] typedef struct { uint32 sv1523_maxkeepsearch; } SERVER_INFO_1523; [public] typedef struct { uint32 sv1524_minkeepcomplsearch; } SERVER_INFO_1524; [public] typedef struct { uint32 sv1525_maxkeepcomplsearch; } SERVER_INFO_1525; [public] typedef struct { uint32 sv1528_scavtimeout; } SERVER_INFO_1528; [public] typedef struct { uint32 sv1529_minrcvqueue; } SERVER_INFO_1529; [public] typedef struct { uint32 sv1530_minfreeworkitems; } SERVER_INFO_1530; [public] typedef struct { uint32 sv1533_maxmpxct; } SERVER_INFO_1533; [public] typedef struct { uint32 sv1534_oplockbreakwait; } SERVER_INFO_1534; [public] typedef struct { uint32 sv1535_oplockbreakresponsewait; } SERVER_INFO_1535; [public] typedef struct { boolean8 sv1536_enableoplocks; } SERVER_INFO_1536; [public] typedef struct { boolean8 sv1537_enableoplockforceclose; } SERVER_INFO_1537; [public] typedef struct { boolean8 sv1538_enablefcbopens; } SERVER_INFO_1538; [public] typedef struct { boolean8 sv1539_enableraw; } SERVER_INFO_1539; [public] typedef struct { boolean8 sv1540_enablesharednetdrives; } SERVER_INFO_1540; [public] typedef struct { boolean8 sv1541_minfreeconnections; } SERVER_INFO_1541; [public] typedef struct { boolean8 sv1542_maxfreeconnections; } SERVER_INFO_1542; [public] typedef struct { uint32 sv1543_initsesstable; } SERVER_INFO_1543; [public] typedef struct { uint32 sv1544_initconntable; } SERVER_INFO_1544; [public] typedef struct { uint32 sv1545_initfiletable; } SERVER_INFO_1545; [public] typedef struct { uint32 sv1546_initsearchtable; } SERVER_INFO_1546; [public] typedef struct { uint32 sv1547_alertschedule; } SERVER_INFO_1547; [public] typedef struct { uint32 sv1548_errorthreshold; } SERVER_INFO_1548; [public] typedef struct { uint32 sv1549_networkerrorthreshold; } SERVER_INFO_1549; [public] typedef struct { uint32 sv1550_diskspacethreshold; } SERVER_INFO_1550; [public] typedef struct { uint32 sv1552_maxlinkdelay; } SERVER_INFO_1552; [public] typedef struct { uint32 sv1553_minlinkthroughput; } SERVER_INFO_1553; [public] typedef struct { uint32 sv1554_linkinfovalidtime; } SERVER_INFO_1554; [public] typedef struct { uint32 sv1555_scavqosinfoupdatetime; } SERVER_INFO_1555; [public] typedef struct { uint32 sv1556_maxworkitemidletime; } SERVER_INFO_1556; [public] typedef struct { uint32 sv1557_maxrawworkitems; } SERVER_INFO_1557; [public] typedef struct { uint32 sv1560_producttype; } SERVER_INFO_1560; [public] typedef struct { uint32 sv1561_serversize; } SERVER_INFO_1561; [public] typedef struct { uint32 sv1562_connectionlessautodisc; } SERVER_INFO_1562; [public] typedef struct { uint32 sv1563_sharingviolationretries; } SERVER_INFO_1563; [public] typedef struct { uint32 sv1564_sharingviolationdelay; } SERVER_INFO_1564; [public] typedef struct { uint32 sv1565_maxglobalopensearch; } SERVER_INFO_1565; [public] typedef struct { boolean8 sv1566_removeduplicatesearches; } SERVER_INFO_1566; [public] typedef struct { uint32 sv1567_lockviolationretries; } SERVER_INFO_1567; [public] typedef struct { uint32 sv1568_lockviolationoffset; } SERVER_INFO_1568; [public] typedef struct { uint32 sv1569_lockviolationdelay; } SERVER_INFO_1569; [public] typedef struct { uint32 sv1570_mdlreadswitchover; } SERVER_INFO_1570; [public] typedef struct { uint32 sv1571_cachedopenlimit; } SERVER_INFO_1571; [public] typedef struct { uint32 sv1572_criticalthreads; } SERVER_INFO_1572; [public] typedef struct { uint32 sv1573_restrictnullsessaccess; } SERVER_INFO_1573; [public] typedef struct { uint32 sv1574_enablewfw311directipx; } SERVER_INFO_1574; [public] typedef struct { uint32 sv1575_otherqueueaffinity; } SERVER_INFO_1575; [public] typedef struct { uint32 sv1576_queuesamplesecs; } SERVER_INFO_1576; [public] typedef struct { uint32 sv1577_balancecount; } SERVER_INFO_1577; [public] typedef struct { uint32 sv1578_preferredaffinity; } SERVER_INFO_1578; [public] typedef struct { uint32 sv1579_maxfreerfcbs; } SERVER_INFO_1579; [public] typedef struct { uint32 sv1580_maxfreemfcbs; } SERVER_INFO_1580; [public] typedef struct { uint32 sv1581_maxfreemlcbs; } SERVER_INFO_1581; [public] typedef struct { uint32 sv1582_maxfreepagedpoolchunks; } SERVER_INFO_1582; [public] typedef struct { uint32 sv1583_minpagedpoolchunksize; } SERVER_INFO_1583; [public] typedef struct { uint32 sv1584_maxpagedpoolchunksize; } SERVER_INFO_1584; [public] typedef struct { boolean8 sv1585_sendsfrompreferredprocessor; } SERVER_INFO_1585; [public] typedef struct { uint32 sv1586_maxthreadsperqueue; } SERVER_INFO_1586; [public] typedef struct { uint32 sv1587_cacheddirectorylimit; } SERVER_INFO_1587; [public] typedef struct { uint32 sv1588_maxcopylength; } SERVER_INFO_1588; [public] typedef struct { uint32 sv1590_enablecompression; } SERVER_INFO_1590; [public] typedef struct { uint32 sv1591_autosharewks; } SERVER_INFO_1591; [public] typedef struct { uint32 sv1592_autosharewks; } SERVER_INFO_1592; [public] typedef struct { uint32 sv1593_enablesecuritysignature; } SERVER_INFO_1593; [public] typedef struct { uint32 sv1594_requiresecuritysignature; } SERVER_INFO_1594; [public] typedef struct { uint32 sv1595_minclientbuffersize; } SERVER_INFO_1595; [public] typedef struct { uint32 sv1596_ConnectionNoSessionsTimeout; } SERVER_INFO_1596; [public] typedef struct { uint32 sv1597_IdleThreadTimeOut; } SERVER_INFO_1597; [public] typedef struct { uint32 sv1598_enableW9xsecuritysignature; } SERVER_INFO_1598; [public] typedef struct { boolean8 sv1598_enforcekerberosreauthentication; } SERVER_INFO_1599; [public] typedef struct { boolean8 sv1598_disabledos; } SERVER_INFO_1600; [public] typedef struct { uint32 sv1598_lowdiskspaceminimum; } SERVER_INFO_1601; [public] typedef struct { boolean8 sv_1598_disablestrictnamechecking; } SERVER_INFO_1602; [nopush,nopull] NET_API_STATUS NetServerGetInfo( [in,unique] string *server_name, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetServerSetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetServerSetInfo( [in,unique] string *server_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_error ); /*******************************************/ /* NetWkstaGetInfo */ /*******************************************/ [public] typedef struct { uint32 wki100_platform_id; string wki100_computername; string wki100_langroup; uint32 wki100_ver_major; uint32 wki100_ver_minor; } WKSTA_INFO_100; [public] typedef struct { uint32 wki101_platform_id; string wki101_computername; string wki101_langroup; uint32 wki101_ver_major; uint32 wki101_ver_minor; string wki101_lanroot; } WKSTA_INFO_101; [public] typedef struct { uint32 wki102_platform_id; string wki102_computername; string wki102_langroup; uint32 wki102_ver_major; uint32 wki102_ver_minor; string wki102_lanroot; uint32 wki102_logged_on_users; } WKSTA_INFO_102; [nopush,nopull] NET_API_STATUS NetWkstaGetInfo( [in,unique] string *server_name, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetGetDCName */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGetDCName( [in,unique] string *server_name, [in,unique] string *domain_name, [out] uint8 **buffer ); /*******************************************/ /* NetGetAnyDCName */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGetAnyDCName( [in,unique] string *server_name, [in,unique] string *domain_name, [out] uint8 **buffer ); /*******************************************/ /* DsGetDcName */ /*******************************************/ [public] typedef [v1_enum] enum { DS_PDC_FLAG = 0x00000001, DS_GC_FLAG = 0x00000004, DS_LDAP_FLAG = 0x00000008, DS_DS_FLAG = 0x00000010, DS_KDC_FLAG = 0x00000020, DS_TIMESERV_FLAG = 0x00000040, DS_CLOSEST_FLAG = 0x00000080, DS_WRITABLE_FLAG = 0x00000100, DS_GOOD_TIMESERV_FLAG = 0x00000200, DS_NDNC_FLAG = 0x00000400, DS_SELECT_SECRET_DOMAIN_6_FLAG = 0x00000800, DS_FULL_SECRET_DOMAIN_6_FLAG = 0x00001000, DS_DNS_CONTROLLER_FLAG = 0x20000000, DS_DNS_DOMAIN_FLAG = 0x40000000, DS_DNS_FOREST_FLAG = 0x80000000 } DOMAIN_CONTROLLER_INFO_FLAGS; [public] typedef struct { string domain_controller_name; string domain_controller_address; uint32 domain_controller_address_type; GUID domain_guid; string domain_name; string dns_forest_name; DOMAIN_CONTROLLER_INFO_FLAGS flags; string dc_site_name; string client_site_name; } DOMAIN_CONTROLLER_INFO; [nopush,nopull] NET_API_STATUS DsGetDcName( [in,unique] string *server_name, [in,ref] string *domain_name, [in,unique] GUID *domain_guid, [in,unique] string *site_name, [in] uint32 flags, [out,ref] DOMAIN_CONTROLLER_INFO **dc_info ); /*******************************************/ /* NetUserAdd */ /*******************************************/ [public] typedef struct { string usri0_name; } USER_INFO_0; /* priv */ const int USER_PRIV_GUEST = 0; const int USER_PRIV_USER = 1; const int USER_PRIV_ADMIN = 2; [public] typedef struct { string usri1_name; string usri1_password; uint32 usri1_password_age; uint32 usri1_priv; string usri1_home_dir; string usri1_comment; uint32 usri1_flags; string usri1_script_path; } USER_INFO_1; /* auth_flags in USER_INFO_2 */ const int AF_OP_PRINT = 0x1; const int AF_OP_COMM = 0x2; const int AF_OP_SERVER = 0x4; const int AF_OP_ACCOUNTS = 0x8; const int AF_SETTABLE_BITS = (AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS); const int USER_MAXSTORAGE_UNLIMITED = (uint32_t)-1L; [public] typedef struct { string usri2_name; string usri2_password; uint32 usri2_password_age; uint32 usri2_priv; string usri2_home_dir; string usri2_comment; uint32 usri2_flags; string usri2_script_path; uint32 usri2_auth_flags; string usri2_full_name; string usri2_usr_comment; string usri2_parms; string usri2_workstations; uint32 usri2_last_logon; uint32 usri2_last_logoff; uint32 usri2_acct_expires; uint32 usri2_max_storage; uint32 usri2_units_per_week; uint8 *usri2_logon_hours; uint32 usri2_bad_pw_count; uint32 usri2_num_logons; string usri2_logon_server; uint32 usri2_country_code; uint32 usri2_code_page; } USER_INFO_2; [public] typedef struct { string usri3_name; uint32 usri3_password_age; uint32 usri3_priv; string usri3_home_dir; string usri3_comment; uint32 usri3_flags; string usri3_script_path; uint32 usri3_auth_flags; string usri3_full_name; string usri3_usr_comment; string usri3_parms; string usri3_workstations; uint32 usri3_last_logon; uint32 usri3_last_logoff; uint32 usri3_acct_expires; uint32 usri3_max_storage; uint32 usri3_units_per_week; uint8 *usri3_logon_hours; uint32 usri3_bad_pw_count; uint32 usri3_num_logons; string usri3_logon_server; uint32 usri3_country_code; uint32 usri3_code_page; uint32 usri3_user_id; uint32 usri3_primary_group_id; string usri3_profile; string usri3_home_dir_drive; uint32 usri3_password_expired; } USER_INFO_3; [public] typedef struct { string usri4_name; string usri4_password; uint32 usri4_password_age; uint32 usri4_priv; string usri4_home_dir; string usri4_comment; uint32 usri4_flags; string usri4_script_path; uint32 usri4_auth_flags; string usri4_full_name; string usri4_usr_comment; string usri4_parms; string usri4_workstations; uint32 usri4_last_logon; uint32 usri4_last_logoff; uint32 usri4_acct_expires; uint32 usri4_max_storage; uint32 usri4_units_per_week; uint8 *usri4_logon_hours; uint32 usri4_bad_pw_count; uint32 usri4_num_logons; string usri4_logon_server; uint32 usri4_country_code; uint32 usri4_code_page; domsid *usri4_user_sid; uint32 usri4_primary_group_id; string usri4_profile; string usri4_home_dir_drive; uint32 usri4_password_expired; } USER_INFO_4; [public] typedef struct { string usri10_name; string usri10_comment; string usri10_usr_comment; string usri10_full_name; } USER_INFO_10; [public] typedef struct { string usri11_name; string usri11_comment; string usri11_usr_comment; string usri11_full_name; uint32 usri11_priv; uint32 usri11_auth_flags; uint32 usri11_password_age; string usri11_home_dir; string usri11_parms; uint32 usri11_last_logon; uint32 usri11_last_logoff; uint32 usri11_bad_pw_count; uint32 usri11_num_logons; string usri11_logon_server; uint32 usri11_country_code; string usri11_workstations; uint32 usri11_max_storage; uint32 usri11_units_per_week; uint8 *usri11_logon_hours; uint32 usri11_code_page; } USER_INFO_11; [public] typedef struct { string usri20_name; string usri20_full_name; string usri20_comment; uint32 usri20_flags; uint32 usri20_user_id; } USER_INFO_20; const int ENCRYPTED_PWLEN = 16; [public] typedef struct { uint8 usri21_password[ENCRYPTED_PWLEN]; } USER_INFO_21; [public] typedef struct { string usri22_name; uint8 usri22_password[ENCRYPTED_PWLEN]; uint32 usri22_password_age; uint32 usri22_priv; string usri22_home_dir; string usri22_comment; uint32 usri22_flags; uint32 usri22_script_path; uint32 usri22_auth_flags; string usri22_full_name; string usri22_usr_comment; string usri22_parms; string usri22_workstations; uint32 usri22_last_logon; uint32 usri22_last_logoff; uint32 usri22_acct_expires; uint32 usri22_max_storage; uint32 usri22_units_per_week; uint8 *usri22_logon_hours; uint32 usri22_bad_pw_count; uint32 usri22_num_logons; string usri22_logon_server; uint32 usri22_country_code; uint32 usri22_code_page; } USER_INFO_22; [public] typedef struct { string usri23_name; string usri23_full_name; string usri23_comment; uint32 usri23_flags; domsid *usri23_user_sid; } USER_INFO_23; [public] typedef struct { string usri1003_password; } USER_INFO_1003; [public] typedef struct { uint32 usri1005_priv; } USER_INFO_1005; [public] typedef struct { string usri1006_home_dir; } USER_INFO_1006; [public] typedef struct { string usri1007_comment; } USER_INFO_1007; [public] typedef struct { uint32 usri1008_flags; } USER_INFO_1008; [public] typedef struct { string usri1009_script_path; } USER_INFO_1009; [public] typedef struct { uint32 usri1010_auth_flags; } USER_INFO_1010; [public] typedef struct { string usri1011_full_name; } USER_INFO_1011; [public] typedef struct { string usri1012_usr_comment; } USER_INFO_1012; [public] typedef struct { string usri1013_parms; } USER_INFO_1013; [public] typedef struct { string usri1014_workstations; } USER_INFO_1014; [public] typedef struct { uint32 usri1017_acct_expires; } USER_INFO_1017; [public] typedef struct { uint32 usri1018_max_storage; } USER_INFO_1018; [public] typedef struct { uint32 usri1020_units_per_week; uint8 *usri1020_logon_hours; } USER_INFO_1020; [public] typedef struct { string usri1023_logon_server; } USER_INFO_1023; [public] typedef struct { uint32 usri1024_country_code; } USER_INFO_1024; [public] typedef struct { uint32 usri1025_code_page; } USER_INFO_1025; [public] typedef struct { uint32 usri1051_primary_group_id; } USER_INFO_1051; [public] typedef struct { string usri1052_profile; } USER_INFO_1052; [public] typedef struct { string usri1053_home_dir_drive; } USER_INFO_1053; [public] typedef struct { string usriX_name; string usriX_password; uint32 usriX_password_age; uint32 usriX_priv; string usriX_home_dir; string usriX_comment; uint32 usriX_flags; string usriX_script_path; uint32 usriX_auth_flags; string usriX_full_name; string usriX_usr_comment; string usriX_parms; string usriX_workstations; uint32 usriX_last_logon; uint32 usriX_last_logoff; uint32 usriX_acct_expires; uint32 usriX_max_storage; uint32 usriX_units_per_week; uint8 *usriX_logon_hours; uint32 usriX_bad_pw_count; uint32 usriX_num_logons; string usriX_logon_server; uint32 usriX_country_code; uint32 usriX_code_page; string usriX_profile; string usriX_home_dir_drive; uint32 usriX_user_id; uint32 usriX_primary_group_id; uint32 usriX_password_expired; } USER_INFO_X; [nopush,nopull] NET_API_STATUS NetUserAdd( [in,unique] string *server_name, [in] uint32 level, [in,ref] uint8 *buffer, [out,ref] uint32 *parm_error ); /*******************************************/ /* NetUserDel */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserDel( [in,unique] string *server_name, [in,ref] string *user_name ); /*******************************************/ /* NetUserEnum */ /*******************************************/ const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001; const int FILTER_NORMAL_ACCOUNT = 0x0002; const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008; const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010; const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020; [nopush,nopull] NET_API_STATUS NetUserEnum( [in,unique] string *server_name, [in] uint32 level, [in] uint32 filter, [out,ref] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries, [in,out,ref] uint32 *resume_handle ); /*******************************************/ /* NetUserChangePassword */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserChangePassword( [in] string domain_name, [in] string user_name, [in] string old_password, [in] string new_password ); /*******************************************/ /* NetUserGetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserGetInfo( [in] string server_name, [in] string user_name, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetUserSetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserSetInfo( [in] string server_name, [in] string user_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_err ); /*******************************************/ /* NetUserGetGroups */ /*******************************************/ [public] typedef struct { string grui0_name; } GROUP_USERS_INFO_0; [public] typedef struct { string grui1_name; uint32 grui1_attributes; } GROUP_USERS_INFO_1; [nopush,nopull] NET_API_STATUS NetUserGetGroups( [in] string server_name, [in] string user_name, [in] uint32 level, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries ); /*******************************************/ /* NetUserSetGroups */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserSetGroups( [in] string server_name, [in] string user_name, [in] uint32 level, [in] uint8 *buffer, [in] uint32 num_entries ); /*******************************************/ /* NetUserGetLocalGroups */ /*******************************************/ const int LG_INCLUDE_INDIRECT = 0x0001; typedef struct { string lgrui0_name; } LOCALGROUP_USERS_INFO_0; [nopush,nopull] NET_API_STATUS NetUserGetLocalGroups( [in] string server_name, [in] string user_name, [in] uint32 level, [in] uint32 flags, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries ); /*******************************************/ /* NetUserModalsGet */ /*******************************************/ const int TIMEQ_FOREVER = (uint32_t)-1L; typedef struct { uint32 usrmod0_min_passwd_len; uint32 usrmod0_max_passwd_age; uint32 usrmod0_min_passwd_age; uint32 usrmod0_force_logoff; uint32 usrmod0_password_hist_len; } USER_MODALS_INFO_0; typedef struct { uint32 usrmod1_role; string usrmod1_primary; } USER_MODALS_INFO_1; typedef struct { string usrmod2_domain_name; domsid *usrmod2_domain_id; } USER_MODALS_INFO_2; typedef struct { uint32 usrmod3_lockout_duration; uint32 usrmod3_lockout_observation_window; uint32 usrmod3_lockout_threshold; } USER_MODALS_INFO_3; typedef struct { uint32 usrmod1001_min_passwd_len; } USER_MODALS_INFO_1001; typedef struct { uint32 usrmod1002_max_passwd_age; } USER_MODALS_INFO_1002; typedef struct { uint32 usrmod1003_min_passwd_age; } USER_MODALS_INFO_1003; typedef struct { uint32 usrmod1004_force_logoff; } USER_MODALS_INFO_1004; typedef struct { uint32 usrmod1005_password_hist_len; } USER_MODALS_INFO_1005; typedef struct { uint32 usrmod1006_role; } USER_MODALS_INFO_1006; typedef struct { string usrmod1007_primary; } USER_MODALS_INFO_1007; [nopush,nopull] NET_API_STATUS NetUserModalsGet( [in] string server_name, [in] uint32 level, [out,ref] uint8 **buffer ); /*******************************************/ /* NetUserModalsSet */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetUserModalsSet( [in] string server_name, [in] uint32 level, [in] uint8 *buffer, [out,ref] uint32 *parm_err ); /*******************************************/ /* NetQueryDisplayInformation */ /*******************************************/ [public] typedef struct { string usri1_name; string usri1_comment; uint32 usri1_flags; string usri1_full_name; uint32 usri1_user_id; uint32 usri1_next_index; } NET_DISPLAY_USER; [public] typedef struct { string usri2_name; string usri2_comment; uint32 usri2_flags; uint32 usri2_user_id; uint32 usri2_next_index; } NET_DISPLAY_MACHINE; [public] typedef struct { string grpi3_name; string grpi3_comment; uint32 grpi3_group_id; uint32 grpi3_attributes; uint32 grpi3_next_index; } NET_DISPLAY_GROUP; [nopush,nopull] NET_API_STATUS NetQueryDisplayInformation( [in,unique] string *server_name, [in] uint32 level, [in] uint32 idx, [in] uint32 entries_requested, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref,noprint] void **buffer ); /*******************************************/ /* NetGroupAdd */ /*******************************************/ typedef struct { string grpi0_name; } GROUP_INFO_0; typedef struct { string grpi1_name; string grpi1_comment; } GROUP_INFO_1; typedef struct { string grpi2_name; string grpi2_comment; uint32 grpi2_group_id; uint32 grpi2_attributes; } GROUP_INFO_2; typedef struct { string grpi3_name; string grpi3_comment; domsid *grpi3_group_sid; uint32 grpi3_attributes; } GROUP_INFO_3; typedef struct { string grpi1002_comment; } GROUP_INFO_1002; typedef struct { uint32 grpi1005_attributes; } GROUP_INFO_1005; [nopush,nopull] NET_API_STATUS NetGroupAdd( [in] string server_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_err ); /*******************************************/ /* NetGroupDel */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupDel( [in] string server_name, [in] string group_name ); /*******************************************/ /* NetGroupEnum */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupEnum( [in] string server_name, [in] uint32 level, [out,ref] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries, [in,out,ref] uint32 *resume_handle ); /*******************************************/ /* NetGroupSetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupSetInfo( [in] string server_name, [in] string group_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_err ); /*******************************************/ /* NetGroupGetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupGetInfo( [in] string server_name, [in] string group_name, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetGroupAddUser */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupAddUser( [in] string server_name, [in] string group_name, [in] string user_name ); /*******************************************/ /* NetGroupDelUser */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupDelUser( [in] string server_name, [in] string group_name, [in] string user_name ); /*******************************************/ /* NetGroupGetUsers */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupGetUsers( [in] string server_name, [in] string group_name, [in] uint32 level, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries, [in,out,ref] uint32 *resume_handle ); /*******************************************/ /* NetGroupSetUsers */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetGroupSetUsers( [in] string server_name, [in] string group_name, [in] uint32 level, [in] uint8 *buffer, [in] uint32 num_entries ); /*******************************************/ /* NetLocalGroupAdd */ /*******************************************/ typedef struct { string lgrpi0_name; } LOCALGROUP_INFO_0; typedef struct { string lgrpi1_name; string lgrpi1_comment; } LOCALGROUP_INFO_1; typedef struct { string lgrpi1002_comment; } LOCALGROUP_INFO_1002; [nopush,nopull] NET_API_STATUS NetLocalGroupAdd( [in] string server_name, [in] uint32 level, [in] uint8 *buffer, [out,ref] uint32 *parm_err ); /*******************************************/ /* NetLocalGroupDel */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupDel( [in] string server_name, [in] string group_name ); /*******************************************/ /* NetLocalGroupGetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo( [in] string server_name, [in] string group_name, [in] uint32 level, [out,ref] uint8 **buffer ); /*******************************************/ /* NetLocalGroupSetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo( [in] string server_name, [in] string group_name, [in] uint32 level, [in,ref] uint8 *buffer, [out,ref] uint32 *parm_err ); /*******************************************/ /* NetLocalGroupEnum */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupEnum( [in] string server_name, [in] uint32 level, [out,ref] uint8 **buffer, [in] uint32 prefmaxlen, [out,ref] uint32 *entries_read, [out,ref] uint32 *total_entries, [in,out,ref] uint32 *resume_handle ); /*******************************************/ /* NetLocalGroupAddMembers */ /*******************************************/ typedef enum { SidTypeUser = 1, SidTypeGroup = 2, SidTypeDomain = 3, SidTypeAlias = 4, SidTypeWellKnownGroup = 5, SidTypeDeletedAccount = 6, SidTypeInvalid = 7, SidTypeUnknown = 8, SidTypeComputer = 9, SidTypeLabel = 10 } SID_NAME_USE; typedef struct { domsid *lgrmi0_sid; } LOCALGROUP_MEMBERS_INFO_0; typedef struct { domsid *lgrmi1_sid; SID_NAME_USE lgrmi1_sidusage; string lgrmi1_name; } LOCALGROUP_MEMBERS_INFO_1; typedef struct { domsid *lgrmi2_sid; SID_NAME_USE lgrmi2_sidusage; string lgrmi2_domainandname; } LOCALGROUP_MEMBERS_INFO_2; typedef struct { string lgrmi3_domainandname; } LOCALGROUP_MEMBERS_INFO_3; [nopush,nopull] NET_API_STATUS NetLocalGroupAddMembers( [in] string server_name, [in] string group_name, [in] uint32 level, [in] uint8 *buffer, [in] uint32 total_entries ); /*******************************************/ /* NetLocalGroupDelMembers */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupDelMembers( [in] string server_name, [in] string group_name, [in] uint32 level, [in] uint8 *buffer, [in] uint32 total_entries ); /*******************************************/ /* NetLocalGroupGetMembers */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupGetMembers( [in] string server_name, [in] string local_group_name, [in] uint32 level, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out] uint32 *entries_read, [out] uint32 *total_entries, [in,out] uint32 *resume_handle ); /*******************************************/ /* NetLocalGroupSetMembers */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetLocalGroupSetMembers( [in] string server_name, [in] string group_name, [in] uint32 level, [in] uint8 *buffer, [in] uint32 total_entries ); /*******************************************/ /* NetRemoteTOD */ /*******************************************/ typedef struct { uint32 tod_elapsedt; uint32 tod_msecs; uint32 tod_hours; uint32 tod_mins; uint32 tod_secs; uint32 tod_hunds; int32 tod_timezone; uint32 tod_tinterval; uint32 tod_day; uint32 tod_month; uint32 tod_year; uint32 tod_weekday; } TIME_OF_DAY_INFO; [nopush,nopull] NET_API_STATUS NetRemoteTOD( [in] string server_name, [out,ref] uint8 **buffer ); /*******************************************/ /* NetShareAdd */ /*******************************************/ typedef struct { string shi0_netname; } SHARE_INFO_0; typedef struct { string shi1_netname; uint32 shi1_type; string shi1_remark; } SHARE_INFO_1; typedef struct { string shi2_netname; uint32 shi2_type; string shi2_remark; uint32 shi2_permissions; uint32 shi2_max_uses; uint32 shi2_current_uses; string shi2_path; string shi2_passwd; } SHARE_INFO_2; typedef struct { string shi501_netname; uint32 shi501_type; string shi501_remark; uint32 shi501_flags; } SHARE_INFO_501; typedef struct { string shi1004_remark; } SHARE_INFO_1004; const int CSC_MASK = 0x30; typedef [public,bitmap32bit] bitmap { SHI1005_FLAGS_DFS = 0x01, SHI1005_FLAGS_DFS_ROOT = 0x02, CSC_CACHE_MANUAL_REINT = 0x00, CSC_CACHE_AUTO_REINT = 0x10, CSC_CACHE_VDO = 0x20, CSC_CACHE_NONE = 0x30, SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = 0x0100, SHI1005_FLAGS_FORCE_SHARED_DELETE = 0x0200, SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = 0x0400, SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = 0x0800 } SHARE_INFO_1005_FLAGS; typedef struct { SHARE_INFO_1005_FLAGS shi1005_flags; } SHARE_INFO_1005; typedef struct { uint32 shi1006_max_uses; } SHARE_INFO_1006; [nopush,nopull] NET_API_STATUS NetShareAdd( [in] string server_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_err ); /*******************************************/ /* NetShareDel */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShareDel( [in] string server_name, [in] string net_name, [in] uint32 reserved ); /*******************************************/ /* NetShareEnum */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShareEnum( [in] string server_name, [in] uint32 level, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out] uint32 *entries_read, [out] uint32 *total_entries, [in,out] uint32 *resume_handle ); /*******************************************/ /* NetShareGetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShareGetInfo( [in] string server_name, [in] string net_name, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetShareSetInfo */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShareSetInfo( [in] string server_name, [in] string net_name, [in] uint32 level, [in] uint8 *buffer, [out] uint32 *parm_err ); /*******************************************/ /* NetFileClose */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetFileClose( [in] string server_name, [in] uint32 fileid ); /*******************************************/ /* NetFileGetInfo */ /*******************************************/ typedef struct { uint32 fi2_id; } FILE_INFO_2; typedef struct { uint32 fi3_id; uint32 fi3_permissions; uint32 fi3_num_locks; string fi3_pathname; string fi3_username; } FILE_INFO_3; [nopush,nopull] NET_API_STATUS NetFileGetInfo( [in] string server_name, [in] uint32 fileid, [in] uint32 level, [out] uint8 **buffer ); /*******************************************/ /* NetFileEnum */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetFileEnum( [in] string server_name, [in] string base_path, [in] string user_name, [in] uint32 level, [out] uint8 **buffer, [in] uint32 prefmaxlen, [out] uint32 *entries_read, [out] uint32 *total_entries, [in,out] uint32 *resume_handle ); /*******************************************/ /* NetShutdownInit */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShutdownInit( [in] string server_name, [in] string message, [in] uint32 timeout, [in] uint8 force_apps, [in] uint8 do_reboot ); /*******************************************/ /* NetShutdownAbort */ /*******************************************/ [nopush,nopull] NET_API_STATUS NetShutdownAbort( [in] string server_name ); /*******************************************/ /* I_NetLogonControl */ /*******************************************/ typedef struct { uint32 netlog1_flags; NET_API_STATUS netlog1_pdc_connection_status; } NETLOGON_INFO_1; typedef struct { uint32 netlog2_flags; NET_API_STATUS netlog2_pdc_connection_status; string netlog2_trusted_dc_name; NET_API_STATUS netlog2_tc_connection_status; } NETLOGON_INFO_2; typedef struct { uint32 netlog1_flags; uint32 netlog3_logon_attempts; uint32 netlog3_reserved1; uint32 netlog3_reserved2; uint32 netlog3_reserved3; uint32 netlog3_reserved4; uint32 netlog3_reserved5; } NETLOGON_INFO_3; typedef struct { string netlog4_trusted_dc_name; string netlog4_trusted_domain_name; } NETLOGON_INFO_4; [nopush,nopull] NET_API_STATUS I_NetLogonControl( [in] string server_name, [in] uint32 function_code, [in] uint32 query_level, [out,ref] uint8 **buffer ); /*******************************************/ /* I_NetLogonControl2 */ /*******************************************/ [nopush,nopull] NET_API_STATUS I_NetLogonControl2( [in] string server_name, [in] uint32 function_code, [in] uint32 query_level, [in,unique] uint8 *data, [out,ref] uint8 **buffer ); }