#include "idl_types.h" import "wkssvc.idl", "security.idl", "misc.idl", "netlogon.idl", "ODJ.idl", "ads.idl"; /* libnetjoin interface definition */ [ pointer_default(unique) ] interface libnetjoin { typedef bitmap wkssvc_joinflags wkssvc_joinflags; typedef enum netr_SchannelType netr_SchannelType; typedef [public] enum { JoinDomNameTypeUnknown = 0, JoinDomNameTypeDNS = 1, JoinDomNameTypeNBT = 2 } libnetjoin_JoinDomNameType; [nopush,nopull,noopnum] WERROR libnet_JoinCtx( [in] string dc_name, [in] string machine_name, [in,ref] string *domain_name, [in] libnetjoin_JoinDomNameType domain_name_type, [in] string account_ou, [in] string admin_account, [in] string admin_domain, [in,noprint] string admin_password, [in] string machine_password, [in] wkssvc_joinflags join_flags, [in] string os_version, [in] string os_name, [in] string os_servicepack, [in] boolean8 create_upn, [in] string upn, [in] string dnshostname, [in] boolean8 modify_config, [in,unique] ads_struct *ads, [in] boolean8 debug, [in] boolean8 use_kerberos, [in] netr_SchannelType secure_channel_type, [in,noprint] messaging_context *msg_ctx, [in] uint32 desired_encryption_types, [in] boolean8 provision_computer_account_only, [in,out,unique] ODJ_PROVISION_DATA *odj_provision_data, [in] boolean8 request_offline_join, [out] string account_name, [out] string netbios_domain_name, [out] string dns_domain_name, [out] string forest_name, [out] string dn, [out] GUID domain_guid, [out] dom_sid *domain_sid, [out] boolean8 modified_config, [out] string error_string, [out] boolean8 domain_is_ad, [out] uint32 set_encryption_types, [out] string krb5_salt, [out,unique] netr_DsRGetDCNameInfo *dcinfo, [out] uint32 account_rid ); [nopush,nopull,noopnum] WERROR libnet_UnjoinCtx( [in] string dc_name, [in] string machine_name, [in] string domain_name, [in] string account_ou, [in] string admin_account, [in] string admin_domain, [in,noprint] string admin_password, [in] string machine_password, [in] wkssvc_joinflags unjoin_flags, [in] boolean8 delete_machine_account, [in] boolean8 modify_config, [in] dom_sid *domain_sid, [in,unique] ads_struct *ads, [in] boolean8 debug, [in] boolean8 use_kerberos, [in,noprint] messaging_context *msg_ctx, [out] string netbios_domain_name, [out] string dns_domain_name, [out] string forest_name, [out] boolean8 modified_config, [out] string error_string, [out] boolean8 disabled_machine_account, [out] boolean8 deleted_machine_account ); }