1/* 2 libnetapi interface definition 3*/ 4 5cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))") 6cpp_quote("#ifndef MAXSUBAUTHS") 7cpp_quote("#define MAXSUBAUTHS 15 /* max sub authorities in a SID */") 8cpp_quote("#endif") 9 10[ 11 pointer_default(unique) 12] 13interface libnetapi 14{ 15 const int ERROR_MORE_DATA = 234L; 16 17 [public] typedef [v1_enum] enum { 18 NERR_Success=0 19 } NET_API_STATUS; 20 21 [public] typedef struct { 22 uint8 sid_rev_num; 23 uint8 num_auths; 24 uint8 id_auth[6]; 25 uint32 sub_auths[MAXSUBAUTHS]; 26 } domsid; 27 28 /*******************************************/ 29 /* NetJoinDomain */ 30 /*******************************************/ 31 32 typedef [public,bitmap32bit] bitmap { 33 NETSETUP_JOIN_DOMAIN = 0x00000001, 34 NETSETUP_ACCT_CREATE = 0x00000002, 35 NETSETUP_ACCT_DELETE = 0x00000004, 36 NETSETUP_WIN9X_UPGRADE = 0x00000010, 37 NETSETUP_DOMAIN_JOIN_IF_JOINED = 0x00000020, 38 NETSETUP_JOIN_UNSECURE = 0x00000040, 39 NETSETUP_MACHINE_PWD_PASSED = 0x00000080, 40 NETSETUP_DEFER_SPN_SET = 0x00000100, 41 NETSETUP_JOIN_DC_ACCOUNT = 0x00000200, 42 NETSETUP_JOIN_WITH_NEW_NAME = 0x00000400, 43 NETSETUP_INSTALL_INVOCATION = 0x00040000, 44 NETSETUP_IGNORE_UNSUPPORTED_FLAGS = 0x10000000 45 } NetJoinFlags; 46 47 [nopush,nopull] NET_API_STATUS NetJoinDomain( 48 [in,unique] string *server, 49 [in,ref] string *domain, 50 [in,unique] string *account_ou, 51 [in,unique] string *account, 52 [in,unique] string *password, 53 [in] NetJoinFlags join_flags 54 ); 55 56 /*******************************************/ 57 /* NetUnjoinDomain */ 58 /*******************************************/ 59 60 [nopush,nopull] NET_API_STATUS NetUnjoinDomain( 61 [in,unique] string *server_name, 62 [in,unique] string *account, 63 [in,unique] string *password, 64 [in] NetJoinFlags unjoin_flags 65 ); 66 67 /*******************************************/ 68 /* NetGetJoinInformation */ 69 /*******************************************/ 70 71 typedef enum { 72 NetSetupUnknownStatus = 0, 73 NetSetupUnjoined = 1, 74 NetSetupWorkgroupName = 2, 75 NetSetupDomainName = 3 76 } NETSETUP_JOIN_STATUS; 77 78 [nopush,nopull] NET_API_STATUS NetGetJoinInformation( 79 [in,unique] string *server_name, 80 [out] string **name_buffer, 81 [out] uint16 *name_type 82 ); 83 84 /*******************************************/ 85 /* NetGetJoinableOUs */ 86 /*******************************************/ 87 88 [nopush,nopull] NET_API_STATUS NetGetJoinableOUs( 89 [in,unique] string *server_name, 90 [in,ref] string *domain, 91 [in,unique] string *account, 92 [in,unique] string *password, 93 [out] uint32 *ou_count, 94 [out] string ***ous 95 ); 96 97 /*******************************************/ 98 /* NetRenameMachineInDomain */ 99 /*******************************************/ 100 101 [nopush,nopull] NET_API_STATUS NetRenameMachineInDomain( 102 [in] string server_name, 103 [in] string new_machine_name, 104 [in] string account, 105 [in] string password, 106 [in] uint32 rename_options 107 ); 108 109 /*******************************************/ 110 /* NetServerGetInfo */ 111 /*******************************************/ 112 113 [public] typedef struct { 114 uint32 sv100_platform_id; 115 string sv100_name; 116 } SERVER_INFO_100; 117 118 [public] typedef struct { 119 uint32 sv101_platform_id; 120 string sv101_name; 121 uint32 sv101_version_major; 122 uint32 sv101_version_minor; 123 uint32 sv101_type; 124 string sv101_comment; 125 } SERVER_INFO_101; 126 127 [public] typedef struct { 128 uint32 sv102_platform_id; 129 string sv102_name; 130 uint32 sv102_version_major; 131 uint32 sv102_version_minor; 132 uint32 sv102_type; 133 string sv102_comment; 134 uint32 sv102_users; 135 uint32 sv102_disc; 136 boolean8 sv102_hidden; 137 uint32 sv102_announce; 138 uint32 sv102_anndelta; 139 uint32 sv102_licenses; 140 string sv102_userpath; 141 } SERVER_INFO_102; 142 143 [public] typedef struct { 144 uint32 sv402_ulist_mtime; 145 uint32 sv402_glist_mtime; 146 uint32 sv402_alist_mtime; 147 string sv402_alerts; 148 uint32 sv402_security; 149 uint32 sv402_numadmin; 150 uint32 sv402_lanmask; 151 string sv402_guestacct; 152 uint32 sv402_chdevs; 153 uint32 sv402_chdevq; 154 uint32 sv402_chdevjobs; 155 uint32 sv402_connections; 156 uint32 sv402_shares; 157 uint32 sv402_openfiles; 158 uint32 sv402_sessopens; 159 uint32 sv402_sessvcs; 160 uint32 sv402_sessreqs; 161 uint32 sv402_opensearch; 162 uint32 sv402_activelocks; 163 uint32 sv402_numreqbuf; 164 uint32 sv402_sizreqbuf; 165 uint32 sv402_numbigbuf; 166 uint32 sv402_numfiletasks; 167 uint32 sv402_alertsched; 168 uint32 sv402_erroralert; 169 uint32 sv402_logonalert; 170 uint32 sv402_accessalert; 171 uint32 sv402_diskalert; 172 uint32 sv402_netioalert; 173 uint32 sv402_maxauditsz; 174 string sv402_srvheuristics; 175 } SERVER_INFO_402; 176 177 [public] typedef struct { 178 uint32 sv403_ulist_mtime; 179 uint32 sv403_glist_mtime; 180 uint32 sv403_alist_mtime; 181 string sv403_alerts; 182 uint32 sv403_security; 183 uint32 sv403_numadmin; 184 uint32 sv403_lanmask; 185 string sv403_guestacct; 186 uint32 sv403_chdevs; 187 uint32 sv403_chdevq; 188 uint32 sv403_chdevjobs; 189 uint32 sv403_connections; 190 uint32 sv403_shares; 191 uint32 sv403_openfiles; 192 uint32 sv403_sessopens; 193 uint32 sv403_sessvcs; 194 uint32 sv403_sessreqs; 195 uint32 sv403_opensearch; 196 uint32 sv403_activelocks; 197 uint32 sv403_numreqbuf; 198 uint32 sv403_sizreqbuf; 199 uint32 sv403_numbigbuf; 200 uint32 sv403_numfiletasks; 201 uint32 sv403_alertsched; 202 uint32 sv403_erroralert; 203 uint32 sv403_logonalert; 204 uint32 sv403_accessalert; 205 uint32 sv403_diskalert; 206 uint32 sv403_netioalert; 207 uint32 sv403_maxauditsz; 208 string sv403_srvheuristics; 209 uint32 sv403_auditedevents; 210 uint32 sv403_autoprofile; 211 string sv403_autopath; 212 } SERVER_INFO_403; 213 214 [public] typedef struct { 215 uint32 sv502_sessopens; 216 uint32 sv502_sessvcs; 217 uint32 sv502_opensearch; 218 uint32 sv502_sizreqbuf; 219 uint32 sv502_initworkitems; 220 uint32 sv502_maxworkitems; 221 uint32 sv502_rawworkitems; 222 uint32 sv502_irpstacksize; 223 uint32 sv502_maxrawbuflen; 224 uint32 sv502_sessusers; 225 uint32 sv502_sessconns; 226 uint32 sv502_maxpagedmemoryusage; 227 uint32 sv502_maxnonpagedmemoryusage; 228 boolean8 sv502_enablesoftcompat; 229 boolean8 sv502_enableforcedlogoff; 230 boolean8 sv502_timesource; 231 boolean8 sv502_acceptdownlevelapis; 232 boolean8 sv502_lmannounce; 233 } SERVER_INFO_502; 234 235 [public] typedef struct { 236 uint32 sv503_sessopens; 237 uint32 sv503_sessvcs; 238 uint32 sv503_opensearch; 239 uint32 sv503_sizreqbuf; 240 uint32 sv503_initworkitems; 241 uint32 sv503_maxworkitems; 242 uint32 sv503_rawworkitems; 243 uint32 sv503_irpstacksize; 244 uint32 sv503_maxrawbuflen; 245 uint32 sv503_sessusers; 246 uint32 sv503_sessconns; 247 uint32 sv503_maxpagedmemoryusage; 248 uint32 sv503_maxnonpagedmemoryusage; 249 boolean8 sv503_enablesoftcompat; 250 boolean8 sv503_enableforcedlogoff; 251 boolean8 sv503_timesource; 252 boolean8 sv503_acceptdownlevelapis; 253 boolean8 sv503_lmannounce; 254 string sv503_domain; 255 uint32 sv503_maxcopyreadlen; 256 uint32 sv503_maxcopywritelen; 257 uint32 sv503_minkeepsearch; 258 uint32 sv503_maxkeepsearch; 259 uint32 sv503_minkeepcomplsearch; 260 uint32 sv503_maxkeepcomplsearch; 261 uint32 sv503_threadcountadd; 262 uint32 sv503_numblockthreads; 263 uint32 sv503_scavtimeout; 264 uint32 sv503_minrcvqueue; 265 uint32 sv503_minfreeworkitems; 266 uint32 sv503_xactmemsize; 267 uint32 sv503_threadpriority; 268 uint32 sv503_maxmpxct; 269 uint32 sv503_oplockbreakwait; 270 uint32 sv503_oplockbreakresponsewait; 271 boolean8 sv503_enableoplocks; 272 boolean8 sv503_enableoplockforceclose; 273 boolean8 sv503_enablefcbopens; 274 boolean8 sv503_enableraw; 275 boolean8 sv503_enablesharednetdrives; 276 uint32 sv503_minfreeconnections; 277 uint32 sv503_maxfreeconnections; 278 } SERVER_INFO_503; 279 280 [public] typedef struct { 281 uint32 sv599_sessopens; 282 uint32 sv599_sessvcs; 283 uint32 sv599_opensearch; 284 uint32 sv599_sizreqbuf; 285 uint32 sv599_initworkitems; 286 uint32 sv599_maxworkitems; 287 uint32 sv599_rawworkitems; 288 uint32 sv599_irpstacksize; 289 uint32 sv599_maxrawbuflen; 290 uint32 sv599_sessusers; 291 uint32 sv599_sessconns; 292 uint32 sv599_maxpagedmemoryusage; 293 uint32 sv599_maxnonpagedmemoryusage; 294 boolean8 sv599_enablesoftcompat; 295 boolean8 sv599_enableforcedlogoff; 296 boolean8 sv599_timesource; 297 boolean8 sv599_acceptdownlevelapis; 298 boolean8 sv599_lmannounce; 299 string sv599_domain; 300 uint32 sv599_maxcopyreadlen; 301 uint32 sv599_maxcopywritelen; 302 uint32 sv599_minkeepsearch; 303 uint32 sv599_maxkeepsearch; 304 uint32 sv599_minkeepcomplsearch; 305 uint32 sv599_maxkeepcomplsearch; 306 uint32 sv599_threadcountadd; 307 uint32 sv599_numblockthreads; 308 uint32 sv599_scavtimeout; 309 uint32 sv599_minrcvqueue; 310 uint32 sv599_minfreeworkitems; 311 uint32 sv599_xactmemsize; 312 uint32 sv599_threadpriority; 313 uint32 sv599_maxmpxct; 314 uint32 sv599_oplockbreakwait; 315 uint32 sv599_oplockbreakresponsewait; 316 boolean8 sv599_enableoplocks; 317 boolean8 sv599_enableoplockforceclose; 318 boolean8 sv599_enablefcbopens; 319 boolean8 sv599_enableraw; 320 boolean8 sv599_enablesharednetdrives; 321 uint32 sv599_minfreeconnections; 322 uint32 sv599_maxfreeconnections; 323 uint32 sv599_initsesstable; 324 uint32 sv599_initconntable; 325 uint32 sv599_initfiletable; 326 uint32 sv599_initsearchtable; 327 uint32 sv599_alertschedule; 328 uint32 sv599_errorthreshold; 329 uint32 sv599_networkerrorthreshold; 330 uint32 sv599_diskspacethreshold; 331 uint32 sv599_reserved; 332 uint32 sv599_maxlinkdelay; 333 uint32 sv599_minlinkthroughput; 334 uint32 sv599_linkinfovalidtime; 335 uint32 sv599_scavqosinfoupdatetime; 336 uint32 sv599_maxworkitemidletime; 337 } SERVER_INFO_599; 338 339 [public] typedef struct { 340 uint32 sv598_maxrawworkitems; 341 uint32 sv598_maxthreadsperqueue; 342 uint32 sv598_producttype; 343 uint32 sv598_serversize; 344 uint32 sv598_connectionlessautodisc; 345 uint32 sv598_sharingviolationretries; 346 uint32 sv598_sharingviolationdelay; 347 uint32 sv598_maxglobalopensearch; 348 uint32 sv598_removeduplicatesearches; 349 uint32 sv598_lockviolationoffset; 350 uint32 sv598_lockviolationdelay; 351 uint32 sv598_mdlreadswitchover; 352 uint32 sv598_cachedopenlimit; 353 uint32 sv598_otherqueueaffinity; 354 boolean8 sv598_restrictnullsessaccess; 355 boolean8 sv598_enablewfw311directipx; 356 uint32 sv598_queuesamplesecs; 357 uint32 sv598_balancecount; 358 uint32 sv598_preferredaffinity; 359 uint32 sv598_maxfreerfcbs; 360 uint32 sv598_maxfreemfcbs; 361 uint32 sv598_maxfreelfcbs; 362 uint32 sv598_maxfreepagedpoolchunks; 363 uint32 sv598_minpagedpoolchunksize; 364 uint32 sv598_maxpagedpoolchunksize; 365 boolean8 sv598_sendsfrompreferredprocessor; 366 uint32 sv598_cacheddirectorylimit; 367 uint32 sv598_maxcopylength; 368 boolean8 sv598_enablecompression; 369 boolean8 sv598_autosharewks; 370 boolean8 sv598_autoshareserver; 371 boolean8 sv598_enablesecuritysignature; 372 boolean8 sv598_requiresecuritysignature; 373 uint32 sv598_minclientbuffersize; 374 GUID sv598_serverguid; 375 uint32 sv598_ConnectionNoSessionsTimeout; 376 uint32 sv598_IdleThreadTimeOut; 377 boolean8 sv598_enableW9xsecuritysignature; 378 boolean8 sv598_enforcekerberosreauthentication; 379 boolean8 sv598_disabledos; 380 uint32 sv598_lowdiskspaceminimum; 381 boolean8 sv598_disablestrictnamechecking; 382 } SERVER_INFO_598; 383 384 [public] typedef struct { 385 string sv1005_comment; 386 } SERVER_INFO_1005; 387 388 [public] typedef struct { 389 uint32 sv1107_users; 390 } SERVER_INFO_1107; 391 392 [public] typedef struct { 393 int32 sv1010_disc; 394 } SERVER_INFO_1010; 395 396 [public] typedef struct { 397 boolean8 sv1016_hidden; 398 } SERVER_INFO_1016; 399 400 [public] typedef struct { 401 uint32 sv1017_announce; 402 } SERVER_INFO_1017; 403 404 [public] typedef struct { 405 uint32 sv1018_anndelta; 406 } SERVER_INFO_1018; 407 408 [public] typedef struct { 409 uint32 sv1501_sessopens; 410 } SERVER_INFO_1501; 411 412 [public] typedef struct { 413 uint32 sv1502_sessvcs; 414 } SERVER_INFO_1502; 415 416 [public] typedef struct { 417 uint32 sv1503_opensearch; 418 } SERVER_INFO_1503; 419 420 [public] typedef struct { 421 uint32 sv1506_maxworkitems; 422 } SERVER_INFO_1506; 423 424 [public] typedef struct { 425 uint32 sv1509_maxrawbuflen; 426 } SERVER_INFO_1509; 427 428 [public] typedef struct { 429 uint32 sv1510_sessusers; 430 } SERVER_INFO_1510; 431 432 [public] typedef struct { 433 uint32 sv1511_sessconns; 434 } SERVER_INFO_1511; 435 436 [public] typedef struct { 437 uint32 sv1512_maxnonpagedmemoryusage; 438 } SERVER_INFO_1512; 439 440 [public] typedef struct { 441 uint32 sv1513_maxpagedmemoryusage; 442 } SERVER_INFO_1513; 443 444 [public] typedef struct { 445 boolean8 sv1514_enablesoftcompat; 446 } SERVER_INFO_1514; 447 448 [public] typedef struct { 449 boolean8 sv1515_enableforcedlogoff; 450 } SERVER_INFO_1515; 451 452 [public] typedef struct { 453 boolean8 sv1516_timesource; 454 } SERVER_INFO_1516; 455 456 [public] typedef struct { 457 boolean8 sv1518_lmannounce; 458 } SERVER_INFO_1518; 459 460 [public] typedef struct { 461 uint32 sv1520_maxcopyreadlen; 462 } SERVER_INFO_1520; 463 464 [public] typedef struct { 465 uint32 sv1521_maxcopywritelen; 466 } SERVER_INFO_1521; 467 468 [public] typedef struct { 469 uint32 sv1522_minkeepsearch; 470 } SERVER_INFO_1522; 471 472 [public] typedef struct { 473 uint32 sv1523_maxkeepsearch; 474 } SERVER_INFO_1523; 475 476 [public] typedef struct { 477 uint32 sv1524_minkeepcomplsearch; 478 } SERVER_INFO_1524; 479 480 [public] typedef struct { 481 uint32 sv1525_maxkeepcomplsearch; 482 } SERVER_INFO_1525; 483 484 [public] typedef struct { 485 uint32 sv1528_scavtimeout; 486 } SERVER_INFO_1528; 487 488 [public] typedef struct { 489 uint32 sv1529_minrcvqueue; 490 } SERVER_INFO_1529; 491 492 [public] typedef struct { 493 uint32 sv1530_minfreeworkitems; 494 } SERVER_INFO_1530; 495 496 [public] typedef struct { 497 uint32 sv1533_maxmpxct; 498 } SERVER_INFO_1533; 499 500 [public] typedef struct { 501 uint32 sv1534_oplockbreakwait; 502 } SERVER_INFO_1534; 503 504 [public] typedef struct { 505 uint32 sv1535_oplockbreakresponsewait; 506 } SERVER_INFO_1535; 507 508 [public] typedef struct { 509 boolean8 sv1536_enableoplocks; 510 } SERVER_INFO_1536; 511 512 [public] typedef struct { 513 boolean8 sv1537_enableoplockforceclose; 514 } SERVER_INFO_1537; 515 516 [public] typedef struct { 517 boolean8 sv1538_enablefcbopens; 518 } SERVER_INFO_1538; 519 520 [public] typedef struct { 521 boolean8 sv1539_enableraw; 522 } SERVER_INFO_1539; 523 524 [public] typedef struct { 525 boolean8 sv1540_enablesharednetdrives; 526 } SERVER_INFO_1540; 527 528 [public] typedef struct { 529 boolean8 sv1541_minfreeconnections; 530 } SERVER_INFO_1541; 531 532 [public] typedef struct { 533 boolean8 sv1542_maxfreeconnections; 534 } SERVER_INFO_1542; 535 536 [public] typedef struct { 537 uint32 sv1543_initsesstable; 538 } SERVER_INFO_1543; 539 540 [public] typedef struct { 541 uint32 sv1544_initconntable; 542 } SERVER_INFO_1544; 543 544 [public] typedef struct { 545 uint32 sv1545_initfiletable; 546 } SERVER_INFO_1545; 547 548 [public] typedef struct { 549 uint32 sv1546_initsearchtable; 550 } SERVER_INFO_1546; 551 552 [public] typedef struct { 553 uint32 sv1547_alertschedule; 554 } SERVER_INFO_1547; 555 556 [public] typedef struct { 557 uint32 sv1548_errorthreshold; 558 } SERVER_INFO_1548; 559 560 [public] typedef struct { 561 uint32 sv1549_networkerrorthreshold; 562 } SERVER_INFO_1549; 563 564 [public] typedef struct { 565 uint32 sv1550_diskspacethreshold; 566 } SERVER_INFO_1550; 567 568 [public] typedef struct { 569 uint32 sv1552_maxlinkdelay; 570 } SERVER_INFO_1552; 571 572 [public] typedef struct { 573 uint32 sv1553_minlinkthroughput; 574 } SERVER_INFO_1553; 575 576 [public] typedef struct { 577 uint32 sv1554_linkinfovalidtime; 578 } SERVER_INFO_1554; 579 580 [public] typedef struct { 581 uint32 sv1555_scavqosinfoupdatetime; 582 } SERVER_INFO_1555; 583 584 [public] typedef struct { 585 uint32 sv1556_maxworkitemidletime; 586 } SERVER_INFO_1556; 587 588 [public] typedef struct { 589 uint32 sv1557_maxrawworkitems; 590 } SERVER_INFO_1557; 591 592 [public] typedef struct { 593 uint32 sv1560_producttype; 594 } SERVER_INFO_1560; 595 596 [public] typedef struct { 597 uint32 sv1561_serversize; 598 } SERVER_INFO_1561; 599 600 [public] typedef struct { 601 uint32 sv1562_connectionlessautodisc; 602 } SERVER_INFO_1562; 603 604 [public] typedef struct { 605 uint32 sv1563_sharingviolationretries; 606 } SERVER_INFO_1563; 607 608 [public] typedef struct { 609 uint32 sv1564_sharingviolationdelay; 610 } SERVER_INFO_1564; 611 612 [public] typedef struct { 613 uint32 sv1565_maxglobalopensearch; 614 } SERVER_INFO_1565; 615 616 [public] typedef struct { 617 boolean8 sv1566_removeduplicatesearches; 618 } SERVER_INFO_1566; 619 620 [public] typedef struct { 621 uint32 sv1567_lockviolationretries; 622 } SERVER_INFO_1567; 623 624 [public] typedef struct { 625 uint32 sv1568_lockviolationoffset; 626 } SERVER_INFO_1568; 627 628 [public] typedef struct { 629 uint32 sv1569_lockviolationdelay; 630 } SERVER_INFO_1569; 631 632 [public] typedef struct { 633 uint32 sv1570_mdlreadswitchover; 634 } SERVER_INFO_1570; 635 636 [public] typedef struct { 637 uint32 sv1571_cachedopenlimit; 638 } SERVER_INFO_1571; 639 640 [public] typedef struct { 641 uint32 sv1572_criticalthreads; 642 } SERVER_INFO_1572; 643 644 [public] typedef struct { 645 uint32 sv1573_restrictnullsessaccess; 646 } SERVER_INFO_1573; 647 648 [public] typedef struct { 649 uint32 sv1574_enablewfw311directipx; 650 } SERVER_INFO_1574; 651 652 [public] typedef struct { 653 uint32 sv1575_otherqueueaffinity; 654 } SERVER_INFO_1575; 655 656 [public] typedef struct { 657 uint32 sv1576_queuesamplesecs; 658 } SERVER_INFO_1576; 659 660 [public] typedef struct { 661 uint32 sv1577_balancecount; 662 } SERVER_INFO_1577; 663 664 [public] typedef struct { 665 uint32 sv1578_preferredaffinity; 666 } SERVER_INFO_1578; 667 668 [public] typedef struct { 669 uint32 sv1579_maxfreerfcbs; 670 } SERVER_INFO_1579; 671 672 [public] typedef struct { 673 uint32 sv1580_maxfreemfcbs; 674 } SERVER_INFO_1580; 675 676 [public] typedef struct { 677 uint32 sv1581_maxfreemlcbs; 678 } SERVER_INFO_1581; 679 680 [public] typedef struct { 681 uint32 sv1582_maxfreepagedpoolchunks; 682 } SERVER_INFO_1582; 683 684 [public] typedef struct { 685 uint32 sv1583_minpagedpoolchunksize; 686 } SERVER_INFO_1583; 687 688 [public] typedef struct { 689 uint32 sv1584_maxpagedpoolchunksize; 690 } SERVER_INFO_1584; 691 692 [public] typedef struct { 693 boolean8 sv1585_sendsfrompreferredprocessor; 694 } SERVER_INFO_1585; 695 696 [public] typedef struct { 697 uint32 sv1586_maxthreadsperqueue; 698 } SERVER_INFO_1586; 699 700 [public] typedef struct { 701 uint32 sv1587_cacheddirectorylimit; 702 } SERVER_INFO_1587; 703 704 [public] typedef struct { 705 uint32 sv1588_maxcopylength; 706 } SERVER_INFO_1588; 707 708 [public] typedef struct { 709 uint32 sv1590_enablecompression; 710 } SERVER_INFO_1590; 711 712 [public] typedef struct { 713 uint32 sv1591_autosharewks; 714 } SERVER_INFO_1591; 715 716 [public] typedef struct { 717 uint32 sv1592_autosharewks; 718 } SERVER_INFO_1592; 719 720 [public] typedef struct { 721 uint32 sv1593_enablesecuritysignature; 722 } SERVER_INFO_1593; 723 724 [public] typedef struct { 725 uint32 sv1594_requiresecuritysignature; 726 } SERVER_INFO_1594; 727 728 [public] typedef struct { 729 uint32 sv1595_minclientbuffersize; 730 } SERVER_INFO_1595; 731 732 [public] typedef struct { 733 uint32 sv1596_ConnectionNoSessionsTimeout; 734 } SERVER_INFO_1596; 735 736 [public] typedef struct { 737 uint32 sv1597_IdleThreadTimeOut; 738 } SERVER_INFO_1597; 739 740 [public] typedef struct { 741 uint32 sv1598_enableW9xsecuritysignature; 742 } SERVER_INFO_1598; 743 744 [public] typedef struct { 745 boolean8 sv1598_enforcekerberosreauthentication; 746 } SERVER_INFO_1599; 747 748 [public] typedef struct { 749 boolean8 sv1598_disabledos; 750 } SERVER_INFO_1600; 751 752 [public] typedef struct { 753 uint32 sv1598_lowdiskspaceminimum; 754 } SERVER_INFO_1601; 755 756 [public] typedef struct { 757 boolean8 sv_1598_disablestrictnamechecking; 758 } SERVER_INFO_1602; 759 760 [nopush,nopull] NET_API_STATUS NetServerGetInfo( 761 [in,unique] string *server_name, 762 [in] uint32 level, 763 [out] uint8 **buffer 764 ); 765 766 /*******************************************/ 767 /* NetServerSetInfo */ 768 /*******************************************/ 769 770 [nopush,nopull] NET_API_STATUS NetServerSetInfo( 771 [in,unique] string *server_name, 772 [in] uint32 level, 773 [in] uint8 *buffer, 774 [out] uint32 *parm_error 775 ); 776 777 /*******************************************/ 778 /* NetGetDCName */ 779 /*******************************************/ 780 781 [nopush,nopull] NET_API_STATUS NetGetDCName( 782 [in,unique] string *server_name, 783 [in,unique] string *domain_name, 784 [out] uint8 **buffer 785 ); 786 787 /*******************************************/ 788 /* NetGetAnyDCName */ 789 /*******************************************/ 790 791 [nopush,nopull] NET_API_STATUS NetGetAnyDCName( 792 [in,unique] string *server_name, 793 [in,unique] string *domain_name, 794 [out] uint8 **buffer 795 ); 796 797 /*******************************************/ 798 /* DsGetDcName */ 799 /*******************************************/ 800 801 [public] typedef struct { 802 string domain_controller_name; 803 string domain_controller_address; 804 uint32 domain_controller_address_type; 805 GUID domain_guid; 806 string domain_name; 807 string dns_forest_name; 808 uint32 flags; 809 string dc_site_name; 810 string client_site_name; 811 } DOMAIN_CONTROLLER_INFO; 812 813 [nopush,nopull] NET_API_STATUS DsGetDcName( 814 [in,unique] string *server_name, 815 [in,ref] string *domain_name, 816 [in,unique] GUID *domain_guid, 817 [in,unique] string *site_name, 818 [in] uint32 flags, 819 [out,ref] DOMAIN_CONTROLLER_INFO **dc_info 820 ); 821 822 /*******************************************/ 823 /* NetUserAdd */ 824 /*******************************************/ 825 826 [public] typedef struct { 827 string usri0_name; 828 } USER_INFO_0; 829 830 /* priv */ 831 const int USER_PRIV_GUEST = 0; 832 const int USER_PRIV_USER = 1; 833 const int USER_PRIV_ADMIN = 2; 834 835 [public] typedef struct { 836 string usri1_name; 837 string usri1_password; 838 uint32 usri1_password_age; 839 uint32 usri1_priv; 840 string usri1_home_dir; 841 string usri1_comment; 842 uint32 usri1_flags; 843 string usri1_script_path; 844 } USER_INFO_1; 845 846 /* auth_flags in USER_INFO_2 */ 847 848 const int AF_OP_PRINT = 0x1; 849 const int AF_OP_COMM = 0x2; 850 const int AF_OP_SERVER = 0x4; 851 const int AF_OP_ACCOUNTS = 0x8; 852 const int AF_SETTABLE_BITS = (AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS); 853 854 const int USER_MAXSTORAGE_UNLIMITED = (uint32_t)-1L; 855 856 [public] typedef struct { 857 string usri2_name; 858 string usri2_password; 859 uint32 usri2_password_age; 860 uint32 usri2_priv; 861 string usri2_home_dir; 862 string usri2_comment; 863 uint32 usri2_flags; 864 string usri2_script_path; 865 uint32 usri2_auth_flags; 866 string usri2_full_name; 867 string usri2_usr_comment; 868 string usri2_parms; 869 string usri2_workstations; 870 uint32 usri2_last_logon; 871 uint32 usri2_last_logoff; 872 uint32 usri2_acct_expires; 873 uint32 usri2_max_storage; 874 uint32 usri2_units_per_week; 875 uint8 *usri2_logon_hours; 876 uint32 usri2_bad_pw_count; 877 uint32 usri2_num_logons; 878 string usri2_logon_server; 879 uint32 usri2_country_code; 880 uint32 usri2_code_page; 881 } USER_INFO_2; 882 883 [public] typedef struct { 884 string usri3_name; 885 uint32 usri3_password_age; 886 uint32 usri3_priv; 887 string usri3_home_dir; 888 string usri3_comment; 889 uint32 usri3_flags; 890 string usri3_script_path; 891 uint32 usri3_auth_flags; 892 string usri3_full_name; 893 string usri3_usr_comment; 894 string usri3_parms; 895 string usri3_workstations; 896 uint32 usri3_last_logon; 897 uint32 usri3_last_logoff; 898 uint32 usri3_acct_expires; 899 uint32 usri3_max_storage; 900 uint32 usri3_units_per_week; 901 uint8 *usri3_logon_hours; 902 uint32 usri3_bad_pw_count; 903 uint32 usri3_num_logons; 904 string usri3_logon_server; 905 uint32 usri3_country_code; 906 uint32 usri3_code_page; 907 uint32 usri3_user_id; 908 uint32 usri3_primary_group_id; 909 string usri3_profile; 910 string usri3_home_dir_drive; 911 uint32 usri3_password_expired; 912 } USER_INFO_3; 913 914 [public] typedef struct { 915 string usri4_name; 916 string usri4_password; 917 uint32 usri4_password_age; 918 uint32 usri4_priv; 919 string usri4_home_dir; 920 string usri4_comment; 921 uint32 usri4_flags; 922 string usri4_script_path; 923 uint32 usri4_auth_flags; 924 string usri4_full_name; 925 string usri4_usr_comment; 926 string usri4_parms; 927 string usri4_workstations; 928 uint32 usri4_last_logon; 929 uint32 usri4_last_logoff; 930 uint32 usri4_acct_expires; 931 uint32 usri4_max_storage; 932 uint32 usri4_units_per_week; 933 uint8 *usri4_logon_hours; 934 uint32 usri4_bad_pw_count; 935 uint32 usri4_num_logons; 936 string usri4_logon_server; 937 uint32 usri4_country_code; 938 uint32 usri4_code_page; 939 domsid *usri4_user_sid; 940 uint32 usri4_primary_group_id; 941 string usri4_profile; 942 string usri4_home_dir_drive; 943 uint32 usri4_password_expired; 944 } USER_INFO_4; 945 946 [public] typedef struct { 947 string usri10_name; 948 string usri10_comment; 949 string usri10_usr_comment; 950 string usri10_full_name; 951 } USER_INFO_10; 952 953 [public] typedef struct { 954 string usri11_name; 955 string usri11_comment; 956 string usri11_usr_comment; 957 string usri11_full_name; 958 uint32 usri11_priv; 959 uint32 usri11_auth_flags; 960 uint32 usri11_password_age; 961 string usri11_home_dir; 962 string usri11_parms; 963 uint32 usri11_last_logon; 964 uint32 usri11_last_logoff; 965 uint32 usri11_bad_pw_count; 966 uint32 usri11_num_logons; 967 string usri11_logon_server; 968 uint32 usri11_country_code; 969 string usri11_workstations; 970 uint32 usri11_max_storage; 971 uint32 usri11_units_per_week; 972 uint8 *usri11_logon_hours; 973 uint32 usri11_code_page; 974 } USER_INFO_11; 975 976 [public] typedef struct { 977 string usri20_name; 978 string usri20_full_name; 979 string usri20_comment; 980 uint32 usri20_flags; 981 uint32 usri20_user_id; 982 } USER_INFO_20; 983 984 const int ENCRYPTED_PWLEN = 16; 985 986 [public] typedef struct { 987 uint8 usri21_password[ENCRYPTED_PWLEN]; 988 } USER_INFO_21; 989 990 [public] typedef struct { 991 string usri22_name; 992 uint8 usri22_password[ENCRYPTED_PWLEN]; 993 uint32 usri22_password_age; 994 uint32 usri22_priv; 995 string usri22_home_dir; 996 string usri22_comment; 997 uint32 usri22_flags; 998 uint32 usri22_script_path; 999 uint32 usri22_auth_flags; 1000 string usri22_full_name; 1001 string usri22_usr_comment; 1002 string usri22_parms; 1003 string usri22_workstations; 1004 uint32 usri22_last_logon; 1005 uint32 usri22_last_logoff; 1006 uint32 usri22_acct_expires; 1007 uint32 usri22_max_storage; 1008 uint32 usri22_units_per_week; 1009 uint8 *usri22_logon_hours; 1010 uint32 usri22_bad_pw_count; 1011 uint32 usri22_num_logons; 1012 string usri22_logon_server; 1013 uint32 usri22_country_code; 1014 uint32 usri22_code_page; 1015 } USER_INFO_22; 1016 1017 [public] typedef struct { 1018 string usri23_name; 1019 string usri23_full_name; 1020 string usri23_comment; 1021 uint32 usri23_flags; 1022 domsid *usri23_user_sid; 1023 } USER_INFO_23; 1024 1025 [public] typedef struct { 1026 string usri1003_password; 1027 } USER_INFO_1003; 1028 1029 [public] typedef struct { 1030 uint32 usri1005_priv; 1031 } USER_INFO_1005; 1032 1033 [public] typedef struct { 1034 string usri1006_home_dir; 1035 } USER_INFO_1006; 1036 1037 [public] typedef struct { 1038 string usri1007_comment; 1039 } USER_INFO_1007; 1040 1041 [public] typedef struct { 1042 uint32 usri1008_flags; 1043 } USER_INFO_1008; 1044 1045 [public] typedef struct { 1046 string usri1009_script_path; 1047 } USER_INFO_1009; 1048 1049 [public] typedef struct { 1050 uint32 usri1010_auth_flags; 1051 } USER_INFO_1010; 1052 1053 [public] typedef struct { 1054 string usri1011_full_name; 1055 } USER_INFO_1011; 1056 1057 [public] typedef struct { 1058 string usri1012_usr_comment; 1059 } USER_INFO_1012; 1060 1061 [public] typedef struct { 1062 string usri1013_parms; 1063 } USER_INFO_1013; 1064 1065 [public] typedef struct { 1066 string usri1014_workstations; 1067 } USER_INFO_1014; 1068 1069 [public] typedef struct { 1070 uint32 usri1017_acct_expires; 1071 } USER_INFO_1017; 1072 1073 [public] typedef struct { 1074 uint32 usri1018_max_storage; 1075 } USER_INFO_1018; 1076 1077 [public] typedef struct { 1078 uint32 usri1020_units_per_week; 1079 uint8 *usri1020_logon_hours; 1080 } USER_INFO_1020; 1081 1082 [public] typedef struct { 1083 string usri1023_logon_server; 1084 } USER_INFO_1023; 1085 1086 [public] typedef struct { 1087 uint32 usri1024_country_code; 1088 } USER_INFO_1024; 1089 1090 [public] typedef struct { 1091 uint32 usri1025_code_page; 1092 } USER_INFO_1025; 1093 1094 [public] typedef struct { 1095 uint32 usri1051_primary_group_id; 1096 } USER_INFO_1051; 1097 1098 [public] typedef struct { 1099 string usri1052_profile; 1100 } USER_INFO_1052; 1101 1102 [public] typedef struct { 1103 string usri1053_home_dir_drive; 1104 } USER_INFO_1053; 1105 1106 [public] typedef struct { 1107 string usriX_name; 1108 string usriX_password; 1109 uint32 usriX_password_age; 1110 uint32 usriX_priv; 1111 string usriX_home_dir; 1112 string usriX_comment; 1113 uint32 usriX_flags; 1114 string usriX_script_path; 1115 uint32 usriX_auth_flags; 1116 string usriX_full_name; 1117 string usriX_usr_comment; 1118 string usriX_parms; 1119 string usriX_workstations; 1120 uint32 usriX_last_logon; 1121 uint32 usriX_last_logoff; 1122 uint32 usriX_acct_expires; 1123 uint32 usriX_max_storage; 1124 uint32 usriX_units_per_week; 1125 uint8 *usriX_logon_hours; 1126 uint32 usriX_bad_pw_count; 1127 uint32 usriX_num_logons; 1128 string usriX_logon_server; 1129 uint32 usriX_country_code; 1130 uint32 usriX_code_page; 1131 string usriX_profile; 1132 string usriX_home_dir_drive; 1133 uint32 usriX_user_id; 1134 uint32 usriX_primary_group_id; 1135 uint32 usriX_password_expired; 1136 } USER_INFO_X; 1137 1138 [nopush,nopull] NET_API_STATUS NetUserAdd( 1139 [in,unique] string *server_name, 1140 [in] uint32 level, 1141 [in,ref] uint8 *buffer, 1142 [out,ref] uint32 *parm_error 1143 ); 1144 1145 /*******************************************/ 1146 /* NetUserDel */ 1147 /*******************************************/ 1148 1149 [nopush,nopull] NET_API_STATUS NetUserDel( 1150 [in,unique] string *server_name, 1151 [in,ref] string *user_name 1152 ); 1153 1154 /*******************************************/ 1155 /* NetUserEnum */ 1156 /*******************************************/ 1157 1158 const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001; 1159 const int FILTER_NORMAL_ACCOUNT = 0x0002; 1160 const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008; 1161 const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010; 1162 const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020; 1163 1164 [nopush,nopull] NET_API_STATUS NetUserEnum( 1165 [in,unique] string *server_name, 1166 [in] uint32 level, 1167 [in] uint32 filter, 1168 [out,ref] uint8 **buffer, 1169 [in] uint32 prefmaxlen, 1170 [out,ref] uint32 *entries_read, 1171 [out,ref] uint32 *total_entries, 1172 [in,out,ref] uint32 *resume_handle 1173 ); 1174 1175 /*******************************************/ 1176 /* NetUserChangePassword */ 1177 /*******************************************/ 1178 1179 [nopush,nopull] NET_API_STATUS NetUserChangePassword( 1180 [in] string domain_name, 1181 [in] string user_name, 1182 [in] string old_password, 1183 [in] string new_password 1184 ); 1185 1186 /*******************************************/ 1187 /* NetUserGetInfo */ 1188 /*******************************************/ 1189 1190 [nopush,nopull] NET_API_STATUS NetUserGetInfo( 1191 [in] string server_name, 1192 [in] string user_name, 1193 [in] uint32 level, 1194 [out] uint8 **buffer 1195 ); 1196 1197 /*******************************************/ 1198 /* NetUserSetInfo */ 1199 /*******************************************/ 1200 1201 [nopush,nopull] NET_API_STATUS NetUserSetInfo( 1202 [in] string server_name, 1203 [in] string user_name, 1204 [in] uint32 level, 1205 [in] uint8 *buffer, 1206 [out] uint32 *parm_err 1207 ); 1208 1209 /*******************************************/ 1210 /* NetUserGetGroups */ 1211 /*******************************************/ 1212 1213 [public] typedef struct { 1214 string grui0_name; 1215 } GROUP_USERS_INFO_0; 1216 1217 [public] typedef struct { 1218 string grui1_name; 1219 uint32 grui1_attributes; 1220 } GROUP_USERS_INFO_1; 1221 1222 [nopush,nopull] NET_API_STATUS NetUserGetGroups( 1223 [in] string server_name, 1224 [in] string user_name, 1225 [in] uint32 level, 1226 [out] uint8 **buffer, 1227 [in] uint32 prefmaxlen, 1228 [out,ref] uint32 *entries_read, 1229 [out,ref] uint32 *total_entries 1230 ); 1231 1232 /*******************************************/ 1233 /* NetUserSetGroups */ 1234 /*******************************************/ 1235 1236 [nopush,nopull] NET_API_STATUS NetUserSetGroups( 1237 [in] string server_name, 1238 [in] string user_name, 1239 [in] uint32 level, 1240 [in] uint8 *buffer, 1241 [in] uint32 num_entries 1242 ); 1243 1244 /*******************************************/ 1245 /* NetUserGetLocalGroups */ 1246 /*******************************************/ 1247 1248 const int LG_INCLUDE_INDIRECT = 0x0001; 1249 1250 typedef struct { 1251 string lgrui0_name; 1252 } LOCALGROUP_USERS_INFO_0; 1253 1254 [nopush,nopull] NET_API_STATUS NetUserGetLocalGroups( 1255 [in] string server_name, 1256 [in] string user_name, 1257 [in] uint32 level, 1258 [in] uint32 flags, 1259 [out] uint8 **buffer, 1260 [in] uint32 prefmaxlen, 1261 [out,ref] uint32 *entries_read, 1262 [out,ref] uint32 *total_entries 1263 ); 1264 1265 /*******************************************/ 1266 /* NetUserModalsGet */ 1267 /*******************************************/ 1268 1269 const int TIMEQ_FOREVER = (uint32_t)-1L; 1270 1271 typedef struct { 1272 uint32 usrmod0_min_passwd_len; 1273 uint32 usrmod0_max_passwd_age; 1274 uint32 usrmod0_min_passwd_age; 1275 uint32 usrmod0_force_logoff; 1276 uint32 usrmod0_password_hist_len; 1277 } USER_MODALS_INFO_0; 1278 1279 typedef struct { 1280 uint32 usrmod1_role; 1281 string usrmod1_primary; 1282 } USER_MODALS_INFO_1; 1283 1284 typedef struct { 1285 string usrmod2_domain_name; 1286 domsid *usrmod2_domain_id; 1287 } USER_MODALS_INFO_2; 1288 1289 typedef struct { 1290 uint32 usrmod3_lockout_duration; 1291 uint32 usrmod3_lockout_observation_window; 1292 uint32 usrmod3_lockout_threshold; 1293 } USER_MODALS_INFO_3; 1294 1295 typedef struct { 1296 uint32 usrmod1001_min_passwd_len; 1297 } USER_MODALS_INFO_1001; 1298 1299 typedef struct { 1300 uint32 usrmod1002_max_passwd_age; 1301 } USER_MODALS_INFO_1002; 1302 1303 typedef struct { 1304 uint32 usrmod1003_min_passwd_age; 1305 } USER_MODALS_INFO_1003; 1306 1307 typedef struct { 1308 uint32 usrmod1004_force_logoff; 1309 } USER_MODALS_INFO_1004; 1310 1311 typedef struct { 1312 uint32 usrmod1005_password_hist_len; 1313 } USER_MODALS_INFO_1005; 1314 1315 typedef struct { 1316 uint32 usrmod1006_role; 1317 } USER_MODALS_INFO_1006; 1318 1319 typedef struct { 1320 string usrmod1007_primary; 1321 } USER_MODALS_INFO_1007; 1322 1323 [nopush,nopull] NET_API_STATUS NetUserModalsGet( 1324 [in] string server_name, 1325 [in] uint32 level, 1326 [out,ref] uint8 **buffer 1327 ); 1328 1329 /*******************************************/ 1330 /* NetUserModalsSet */ 1331 /*******************************************/ 1332 1333 [nopush,nopull] NET_API_STATUS NetUserModalsSet( 1334 [in] string server_name, 1335 [in] uint32 level, 1336 [in] uint8 *buffer, 1337 [out,ref] uint32 *parm_err 1338 ); 1339 1340 /*******************************************/ 1341 /* NetQueryDisplayInformation */ 1342 /*******************************************/ 1343 1344 [public] typedef struct { 1345 string usri1_name; 1346 string usri1_comment; 1347 uint32 usri1_flags; 1348 string usri1_full_name; 1349 uint32 usri1_user_id; 1350 uint32 usri1_next_index; 1351 } NET_DISPLAY_USER; 1352 1353 [public] typedef struct { 1354 string usri2_name; 1355 string usri2_comment; 1356 uint32 usri2_flags; 1357 uint32 usri2_user_id; 1358 uint32 usri2_next_index; 1359 } NET_DISPLAY_MACHINE; 1360 1361 [public] typedef struct { 1362 string grpi3_name; 1363 string grpi3_comment; 1364 uint32 grpi3_group_id; 1365 uint32 grpi3_attributes; 1366 uint32 grpi3_next_index; 1367 } NET_DISPLAY_GROUP; 1368 1369 [nopush,nopull] NET_API_STATUS NetQueryDisplayInformation( 1370 [in,unique] string *server_name, 1371 [in] uint32 level, 1372 [in] uint32 idx, 1373 [in] uint32 entries_requested, 1374 [in] uint32 prefmaxlen, 1375 [out,ref] uint32 *entries_read, 1376 [out,ref,noprint] void **buffer 1377 ); 1378 1379 /*******************************************/ 1380 /* NetGroupAdd */ 1381 /*******************************************/ 1382 1383 typedef struct { 1384 string grpi0_name; 1385 } GROUP_INFO_0; 1386 1387 typedef struct { 1388 string grpi1_name; 1389 string grpi1_comment; 1390 } GROUP_INFO_1; 1391 1392 typedef struct { 1393 string grpi2_name; 1394 string grpi2_comment; 1395 uint32 grpi2_group_id; 1396 uint32 grpi2_attributes; 1397 } GROUP_INFO_2; 1398 1399 typedef struct { 1400 string grpi3_name; 1401 string grpi3_comment; 1402 domsid *grpi3_group_sid; 1403 uint32 grpi3_attributes; 1404 } GROUP_INFO_3; 1405 1406 typedef struct { 1407 string grpi1002_comment; 1408 } GROUP_INFO_1002; 1409 1410 typedef struct { 1411 uint32 grpi1005_attributes; 1412 } GROUP_INFO_1005; 1413 1414 [nopush,nopull] NET_API_STATUS NetGroupAdd( 1415 [in] string server_name, 1416 [in] uint32 level, 1417 [in] uint8 *buffer, 1418 [out] uint32 *parm_err 1419 ); 1420 1421 /*******************************************/ 1422 /* NetGroupDel */ 1423 /*******************************************/ 1424 1425 [nopush,nopull] NET_API_STATUS NetGroupDel( 1426 [in] string server_name, 1427 [in] string group_name 1428 ); 1429 1430 /*******************************************/ 1431 /* NetGroupEnum */ 1432 /*******************************************/ 1433 1434 [nopush,nopull] NET_API_STATUS NetGroupEnum( 1435 [in] string server_name, 1436 [in] uint32 level, 1437 [out,ref] uint8 **buffer, 1438 [in] uint32 prefmaxlen, 1439 [out,ref] uint32 *entries_read, 1440 [out,ref] uint32 *total_entries, 1441 [in,out,ref] uint32 *resume_handle 1442 ); 1443 1444 /*******************************************/ 1445 /* NetGroupSetInfo */ 1446 /*******************************************/ 1447 1448 [nopush,nopull] NET_API_STATUS NetGroupSetInfo( 1449 [in] string server_name, 1450 [in] string group_name, 1451 [in] uint32 level, 1452 [in] uint8 *buffer, 1453 [out] uint32 *parm_err 1454 ); 1455 1456 /*******************************************/ 1457 /* NetGroupGetInfo */ 1458 /*******************************************/ 1459 1460 [nopush,nopull] NET_API_STATUS NetGroupGetInfo( 1461 [in] string server_name, 1462 [in] string group_name, 1463 [in] uint32 level, 1464 [out] uint8 **buffer 1465 ); 1466 1467 /*******************************************/ 1468 /* NetGroupAddUser */ 1469 /*******************************************/ 1470 1471 [nopush,nopull] NET_API_STATUS NetGroupAddUser( 1472 [in] string server_name, 1473 [in] string group_name, 1474 [in] string user_name 1475 ); 1476 1477 /*******************************************/ 1478 /* NetGroupDelUser */ 1479 /*******************************************/ 1480 1481 [nopush,nopull] NET_API_STATUS NetGroupDelUser( 1482 [in] string server_name, 1483 [in] string group_name, 1484 [in] string user_name 1485 ); 1486 1487 /*******************************************/ 1488 /* NetGroupGetUsers */ 1489 /*******************************************/ 1490 1491 [nopush,nopull] NET_API_STATUS NetGroupGetUsers( 1492 [in] string server_name, 1493 [in] string group_name, 1494 [in] uint32 level, 1495 [out] uint8 **buffer, 1496 [in] uint32 prefmaxlen, 1497 [out,ref] uint32 *entries_read, 1498 [out,ref] uint32 *total_entries, 1499 [in,out,ref] uint32 *resume_handle 1500 ); 1501 1502 /*******************************************/ 1503 /* NetGroupSetUsers */ 1504 /*******************************************/ 1505 1506 [nopush,nopull] NET_API_STATUS NetGroupSetUsers( 1507 [in] string server_name, 1508 [in] string group_name, 1509 [in] uint32 level, 1510 [in] uint8 *buffer, 1511 [in] uint32 num_entries 1512 ); 1513 1514 /*******************************************/ 1515 /* NetLocalGroupAdd */ 1516 /*******************************************/ 1517 1518 typedef struct { 1519 string lgrpi0_name; 1520 } LOCALGROUP_INFO_0; 1521 1522 typedef struct { 1523 string lgrpi1_name; 1524 string lgrpi1_comment; 1525 } LOCALGROUP_INFO_1; 1526 1527 typedef struct { 1528 string lgrpi1002_comment; 1529 } LOCALGROUP_INFO_1002; 1530 1531 [nopush,nopull] NET_API_STATUS NetLocalGroupAdd( 1532 [in] string server_name, 1533 [in] uint32 level, 1534 [in] uint8 *buffer, 1535 [out,ref] uint32 *parm_err 1536 ); 1537 1538 /*******************************************/ 1539 /* NetLocalGroupDel */ 1540 /*******************************************/ 1541 1542 [nopush,nopull] NET_API_STATUS NetLocalGroupDel( 1543 [in] string server_name, 1544 [in] string group_name 1545 ); 1546 1547 /*******************************************/ 1548 /* NetLocalGroupGetInfo */ 1549 /*******************************************/ 1550 1551 [nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo( 1552 [in] string server_name, 1553 [in] string group_name, 1554 [in] uint32 level, 1555 [out,ref] uint8 **buffer 1556 ); 1557 1558 /*******************************************/ 1559 /* NetLocalGroupSetInfo */ 1560 /*******************************************/ 1561 1562 [nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo( 1563 [in] string server_name, 1564 [in] string group_name, 1565 [in] uint32 level, 1566 [in,ref] uint8 *buffer, 1567 [out,ref] uint32 *parm_err 1568 ); 1569 1570 /*******************************************/ 1571 /* NetLocalGroupEnum */ 1572 /*******************************************/ 1573 1574 [nopush,nopull] NET_API_STATUS NetLocalGroupEnum( 1575 [in] string server_name, 1576 [in] uint32 level, 1577 [out,ref] uint8 **buffer, 1578 [in] uint32 prefmaxlen, 1579 [out,ref] uint32 *entries_read, 1580 [out,ref] uint32 *total_entries, 1581 [in,out,ref] uint32 *resume_handle 1582 ); 1583 1584 /*******************************************/ 1585 /* NetLocalGroupAddMembers */ 1586 /*******************************************/ 1587 1588 typedef enum { 1589 SidTypeUser = 1, 1590 SidTypeGroup = 2, 1591 SidTypeDomain = 3, 1592 SidTypeAlias = 4, 1593 SidTypeWellKnownGroup = 5, 1594 SidTypeDeletedAccount = 6, 1595 SidTypeInvalid = 7, 1596 SidTypeUnknown = 8, 1597 SidTypeComputer = 9, 1598 SidTypeLabel = 10 1599 } SID_NAME_USE; 1600 1601 typedef struct { 1602 domsid *lgrmi0_sid; 1603 } LOCALGROUP_MEMBERS_INFO_0; 1604 1605 typedef struct { 1606 domsid *lgrmi1_sid; 1607 SID_NAME_USE lgrmi1_sidusage; 1608 string lgrmi1_name; 1609 } LOCALGROUP_MEMBERS_INFO_1; 1610 1611 typedef struct { 1612 domsid *lgrmi2_sid; 1613 SID_NAME_USE lgrmi2_sidusage; 1614 string lgrmi2_domainandname; 1615 } LOCALGROUP_MEMBERS_INFO_2; 1616 1617 typedef struct { 1618 string lgrmi3_domainandname; 1619 } LOCALGROUP_MEMBERS_INFO_3; 1620 1621 [nopush,nopull] NET_API_STATUS NetLocalGroupAddMembers( 1622 [in] string server_name, 1623 [in] string group_name, 1624 [in] uint32 level, 1625 [in] uint8 *buffer, 1626 [in] uint32 total_entries 1627 ); 1628 1629 /*******************************************/ 1630 /* NetLocalGroupDelMembers */ 1631 /*******************************************/ 1632 1633 [nopush,nopull] NET_API_STATUS NetLocalGroupDelMembers( 1634 [in] string server_name, 1635 [in] string group_name, 1636 [in] uint32 level, 1637 [in] uint8 *buffer, 1638 [in] uint32 total_entries 1639 ); 1640 1641 /*******************************************/ 1642 /* NetLocalGroupGetMembers */ 1643 /*******************************************/ 1644 1645 [nopush,nopull] NET_API_STATUS NetLocalGroupGetMembers( 1646 [in] string server_name, 1647 [in] string local_group_name, 1648 [in] uint32 level, 1649 [out] uint8 **buffer, 1650 [in] uint32 prefmaxlen, 1651 [out] uint32 *entries_read, 1652 [out] uint32 *total_entries, 1653 [in,out] uint32 *resume_handle 1654 ); 1655 1656 /*******************************************/ 1657 /* NetLocalGroupSetMembers */ 1658 /*******************************************/ 1659 1660 [nopush,nopull] NET_API_STATUS NetLocalGroupSetMembers( 1661 [in] string server_name, 1662 [in] string group_name, 1663 [in] uint32 level, 1664 [in] uint8 *buffer, 1665 [in] uint32 total_entries 1666 ); 1667 1668 /*******************************************/ 1669 /* NetRemoteTOD */ 1670 /*******************************************/ 1671 1672 typedef struct { 1673 uint32 tod_elapsedt; 1674 uint32 tod_msecs; 1675 uint32 tod_hours; 1676 uint32 tod_mins; 1677 uint32 tod_secs; 1678 uint32 tod_hunds; 1679 int32 tod_timezone; 1680 uint32 tod_tinterval; 1681 uint32 tod_day; 1682 uint32 tod_month; 1683 uint32 tod_year; 1684 uint32 tod_weekday; 1685 } TIME_OF_DAY_INFO; 1686 1687 [nopush,nopull] NET_API_STATUS NetRemoteTOD( 1688 [in] string server_name, 1689 [out,ref] uint8 **buffer 1690 ); 1691 1692 /*******************************************/ 1693 /* NetShareAdd */ 1694 /*******************************************/ 1695 1696 typedef struct { 1697 string shi0_netname; 1698 } SHARE_INFO_0; 1699 1700 typedef struct { 1701 string shi1_netname; 1702 uint32 shi1_type; 1703 string shi1_remark; 1704 } SHARE_INFO_1; 1705 1706 typedef struct { 1707 string shi2_netname; 1708 uint32 shi2_type; 1709 string shi2_remark; 1710 uint32 shi2_permissions; 1711 uint32 shi2_max_uses; 1712 uint32 shi2_current_uses; 1713 string shi2_path; 1714 string shi2_passwd; 1715 } SHARE_INFO_2; 1716 1717 typedef struct { 1718 string shi501_netname; 1719 uint32 shi501_type; 1720 string shi501_remark; 1721 uint32 shi501_flags; 1722 } SHARE_INFO_501; 1723 1724 typedef struct { 1725 string shi1004_remark; 1726 } SHARE_INFO_1004; 1727 1728 const int CSC_MASK = 0x30; 1729 1730 typedef [public,bitmap32bit] bitmap { 1731 SHI1005_FLAGS_DFS = 0x01, 1732 SHI1005_FLAGS_DFS_ROOT = 0x02, 1733 CSC_CACHE_MANUAL_REINT = 0x00, 1734 CSC_CACHE_AUTO_REINT = 0x10, 1735 CSC_CACHE_VDO = 0x20, 1736 CSC_CACHE_NONE = 0x30, 1737 SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = 0x0100, 1738 SHI1005_FLAGS_FORCE_SHARED_DELETE = 0x0200, 1739 SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = 0x0400, 1740 SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = 0x0800 1741 } SHARE_INFO_1005_FLAGS; 1742 1743 typedef struct { 1744 SHARE_INFO_1005_FLAGS shi1005_flags; 1745 } SHARE_INFO_1005; 1746 1747 typedef struct { 1748 uint32 shi1006_max_uses; 1749 } SHARE_INFO_1006; 1750 1751 [nopush,nopull] NET_API_STATUS NetShareAdd( 1752 [in] string server_name, 1753 [in] uint32 level, 1754 [in] uint8 *buffer, 1755 [out] uint32 *parm_err 1756 ); 1757 1758 /*******************************************/ 1759 /* NetShareDel */ 1760 /*******************************************/ 1761 1762 [nopush,nopull] NET_API_STATUS NetShareDel( 1763 [in] string server_name, 1764 [in] string net_name, 1765 [in] uint32 reserved 1766 ); 1767 1768 /*******************************************/ 1769 /* NetShareEnum */ 1770 /*******************************************/ 1771 1772 [nopush,nopull] NET_API_STATUS NetShareEnum( 1773 [in] string server_name, 1774 [in] uint32 level, 1775 [out] uint8 **buffer, 1776 [in] uint32 prefmaxlen, 1777 [out] uint32 *entries_read, 1778 [out] uint32 *total_entries, 1779 [in,out] uint32 *resume_handle 1780 ); 1781 1782 /*******************************************/ 1783 /* NetShareGetInfo */ 1784 /*******************************************/ 1785 1786 [nopush,nopull] NET_API_STATUS NetShareGetInfo( 1787 [in] string server_name, 1788 [in] string net_name, 1789 [in] uint32 level, 1790 [out] uint8 **buffer 1791 ); 1792 1793 /*******************************************/ 1794 /* NetShareSetInfo */ 1795 /*******************************************/ 1796 1797 [nopush,nopull] NET_API_STATUS NetShareSetInfo( 1798 [in] string server_name, 1799 [in] string net_name, 1800 [in] uint32 level, 1801 [in] uint8 *buffer, 1802 [out] uint32 *parm_err 1803 ); 1804 1805 /*******************************************/ 1806 /* NetFileClose */ 1807 /*******************************************/ 1808 1809 [nopush,nopull] NET_API_STATUS NetFileClose( 1810 [in] string server_name, 1811 [in] uint32 fileid 1812 ); 1813 1814 /*******************************************/ 1815 /* NetFileGetInfo */ 1816 /*******************************************/ 1817 1818 typedef struct { 1819 uint32 fi2_id; 1820 } FILE_INFO_2; 1821 1822 typedef struct { 1823 uint32 fi3_id; 1824 uint32 fi3_permissions; 1825 uint32 fi3_num_locks; 1826 string fi3_pathname; 1827 string fi3_username; 1828 } FILE_INFO_3; 1829 1830 [nopush,nopull] NET_API_STATUS NetFileGetInfo( 1831 [in] string server_name, 1832 [in] uint32 fileid, 1833 [in] uint32 level, 1834 [out] uint8 **buffer 1835 ); 1836 1837 /*******************************************/ 1838 /* NetFileEnum */ 1839 /*******************************************/ 1840 1841 [nopush,nopull] NET_API_STATUS NetFileEnum( 1842 [in] string server_name, 1843 [in] string base_path, 1844 [in] string user_name, 1845 [in] uint32 level, 1846 [out] uint8 **buffer, 1847 [in] uint32 prefmaxlen, 1848 [out] uint32 *entries_read, 1849 [out] uint32 *total_entries, 1850 [in,out] uint32 *resume_handle 1851 ); 1852 1853 /*******************************************/ 1854 /* NetShutdownInit */ 1855 /*******************************************/ 1856 1857 [nopush,nopull] NET_API_STATUS NetShutdownInit( 1858 [in] string server_name, 1859 [in] string message, 1860 [in] uint32 timeout, 1861 [in] uint8 force_apps, 1862 [in] uint8 do_reboot 1863 ); 1864 1865 /*******************************************/ 1866 /* NetShutdownAbort */ 1867 /*******************************************/ 1868 1869 [nopush,nopull] NET_API_STATUS NetShutdownAbort( 1870 [in] string server_name 1871 ); 1872 1873 /*******************************************/ 1874 /* I_NetLogonControl */ 1875 /*******************************************/ 1876 1877 typedef struct { 1878 uint32 netlog1_flags; 1879 NET_API_STATUS netlog1_pdc_connection_status; 1880 } NETLOGON_INFO_1; 1881 1882 typedef struct { 1883 uint32 netlog2_flags; 1884 NET_API_STATUS netlog2_pdc_connection_status; 1885 string netlog2_trusted_dc_name; 1886 NET_API_STATUS netlog2_tc_connection_status; 1887 } NETLOGON_INFO_2; 1888 1889 typedef struct { 1890 uint32 netlog1_flags; 1891 uint32 netlog3_logon_attempts; 1892 uint32 netlog3_reserved1; 1893 uint32 netlog3_reserved2; 1894 uint32 netlog3_reserved3; 1895 uint32 netlog3_reserved4; 1896 uint32 netlog3_reserved5; 1897 } NETLOGON_INFO_3; 1898 1899 typedef struct { 1900 string netlog4_trusted_dc_name; 1901 string netlog4_trusted_domain_name; 1902 } NETLOGON_INFO_4; 1903 1904 [nopush,nopull] NET_API_STATUS I_NetLogonControl( 1905 [in] string server_name, 1906 [in] uint32 function_code, 1907 [in] uint32 query_level, 1908 [out,ref] uint8 **buffer 1909 ); 1910 1911 /*******************************************/ 1912 /* I_NetLogonControl2 */ 1913 /*******************************************/ 1914 1915 [nopush,nopull] NET_API_STATUS I_NetLogonControl2( 1916 [in] string server_name, 1917 [in] uint32 function_code, 1918 [in] uint32 query_level, 1919 [in] uint8 *data, 1920 [out,ref] uint8 **buffer 1921 ); 1922} 1923