1 // Copyright © 2015, skdltmxn 2 // Licensed under the MIT License <LICENSE.md> 3 // Definitions and prototypes for the Net setup apis 4 ENUM!{enum NETSETUP_NAME_TYPE { 5 NetSetupUnknown = 0, 6 NetSetupMachine, 7 NetSetupWorkgroup, 8 NetSetupDomain, 9 NetSetupNonExistentDomain, 10 NetSetupDnsMachine, 11 }} 12 pub type PNETSETUP_NAME_TYPE = *mut NETSETUP_NAME_TYPE; 13 ENUM!{enum NETSETUP_JOIN_STATUS { 14 NetSetupUnknownStatus = 0, 15 NetSetupUnjoined, 16 NetSetupWorkgroupName, 17 NetSetupDomainName, 18 }} 19 pub type PNETSETUP_JOIN_STATUS = *mut NETSETUP_JOIN_STATUS; 20 pub const NETSETUP_JOIN_DOMAIN: ::DWORD = 0x00000001; 21 pub const NETSETUP_ACCT_CREATE: ::DWORD = 0x00000002; 22 pub const NETSETUP_ACCT_DELETE: ::DWORD = 0x00000004; 23 pub const NETSETUP_WIN9X_UPGRADE: ::DWORD = 0x00000010; 24 pub const NETSETUP_DOMAIN_JOIN_IF_JOINED: ::DWORD = 0x00000020; 25 pub const NETSETUP_JOIN_UNSECURE: ::DWORD = 0x00000040; 26 pub const NETSETUP_MACHINE_PWD_PASSED: ::DWORD = 0x00000080; 27 pub const NETSETUP_DEFER_SPN_SET: ::DWORD = 0x00000100; 28 pub const NETSETUP_JOIN_DC_ACCOUNT: ::DWORD = 0x00000200; 29 pub const NETSETUP_JOIN_WITH_NEW_NAME: ::DWORD = 0x00000400; 30 pub const NETSETUP_JOIN_READONLY: ::DWORD = 0x00000800; 31 pub const NETSETUP_DNS_NAME_CHANGES_ONLY: ::DWORD = 0x00001000; 32 pub const NETSETUP_INSTALL_INVOCATION: ::DWORD = 0x00040000; 33 pub const NETSETUP_AMBIGUOUS_DC: ::DWORD = 0x00001000; 34 pub const NETSETUP_NO_NETLOGON_CACHE: ::DWORD = 0x00002000; 35 pub const NETSETUP_DONT_CONTROL_SERVICES: ::DWORD = 0x00004000; 36 pub const NETSETUP_SET_MACHINE_NAME: ::DWORD = 0x00008000; 37 pub const NETSETUP_FORCE_SPN_SET: ::DWORD = 0x00010000; 38 pub const NETSETUP_NO_ACCT_REUSE: ::DWORD = 0x00020000; 39 pub const NETSETUP_ALT_SAMACCOUNTNAME: ::DWORD = 0x00020000; 40 pub const NETSETUP_IGNORE_UNSUPPORTED_FLAGS: ::DWORD = 0x10000000; 41 pub const NETSETUP_VALID_UNJOIN_FLAGS: ::DWORD = NETSETUP_ACCT_DELETE 42 | NETSETUP_IGNORE_UNSUPPORTED_FLAGS | NETSETUP_JOIN_DC_ACCOUNT; 43 pub const NETSETUP_PROCESS_OFFLINE_FLAGS: ::DWORD = NETSETUP_JOIN_DOMAIN 44 | NETSETUP_DOMAIN_JOIN_IF_JOINED | NETSETUP_JOIN_WITH_NEW_NAME | NETSETUP_DONT_CONTROL_SERVICES 45 | NETSETUP_MACHINE_PWD_PASSED; 46 pub const NETSETUP_PROVISION_DOWNLEVEL_PRIV_SUPPORT: ::DWORD = 0x00000001; 47 pub const NETSETUP_PROVISION_REUSE_ACCOUNT: ::DWORD = 0x00000002; 48 pub const NETSETUP_PROVISION_USE_DEFAULT_PASSWORD: ::DWORD = 0x00000004; 49 pub const NETSETUP_PROVISION_SKIP_ACCOUNT_SEARCH: ::DWORD = 0x00000008; 50 pub const NETSETUP_PROVISION_ROOT_CA_CERTS: ::DWORD = 0x00000010; 51 pub const NETSETUP_PROVISION_PERSISTENTSITE: ::DWORD = 0x00000020; 52 pub const NETSETUP_PROVISION_ONLINE_CALLER: ::DWORD = 0x40000000; 53 pub const NETSETUP_PROVISION_CHECK_PWD_ONLY: ::DWORD = 0x80000000; 54 pub const NETSETUP_PROVISIONING_PARAMS_WIN8_VERSION: ::DWORD = 0x00000001; 55 pub const NETSETUP_PROVISIONING_PARAMS_CURRENT_VERSION: ::DWORD = 0x00000002; 56 STRUCT!{struct NETSETUP_PROVISIONING_PARAMS { 57 dwVersion: ::DWORD, 58 lpDomain: ::LPCWSTR, 59 lpHostName: ::LPCWSTR, 60 lpMachineAccountOU: ::LPCWSTR, 61 lpDcName: ::LPCWSTR, 62 dwProvisionOptions: ::DWORD, 63 aCertTemplateNames: *mut ::LPCWSTR, 64 cCertTemplateNames: ::DWORD, 65 aMachinePolicyNames: *mut ::LPCWSTR, 66 cMachinePolicyNames: ::DWORD, 67 aMachinePolicyPaths: *mut ::LPCWSTR, 68 cMachinePolicyPaths: ::DWORD, 69 lpNetbiosName: ::LPWSTR, 70 lpSiteName: ::LPWSTR, 71 lpPrimaryDNSDomain: ::LPWSTR, 72 }} 73 pub type PNETSETUP_PROVISIONING_PARAMS = *mut NETSETUP_PROVISIONING_PARAMS; 74 ENUM!{enum NET_COMPUTER_NAME_TYPE { 75 NetPrimaryComputerName, 76 NetAlternateComputerNames, 77 NetAllComputerNames, 78 NetComputerNameTypeMax, 79 }} 80 pub type PNET_COMPUTER_NAME_TYPE = *mut NET_COMPUTER_NAME_TYPE; 81