ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> ASP技术
目录服务技术介绍——ADSI(五)
由于目录对象的标识名可能在某些操作的影响下被改变,但目录对象的objectGUID属性永远不会改变,所以我们可以直接在LDAP路径中指定此GUID,客户程序直接绑定到此对象,下面的代码显示了这种用法:



IADs *pADs;



LPWSTR pszFilter = L"LDAP://MyServer/<GUID=63560110f7e1d111a6bfaaaf842b9cfa>";



hr = ADsGetObject( pszFilter, IID_IADs, (void**)&pADs);



等价的VB代码如下:



Dim myObject as IADs



Set myObject = GetObject("LDAP://<GUID=63560110f7e1d111a6bfaaaf842b9cfa>")



(2) 包容器对象的枚举操作。



客户程序通过上面的方法可以直接到达指定的目录对象或者包容器对象,我们也可以从某个节点开始访问目录子树,利用IADsContainer接口所提供的方法,我们可以实现枚举操作,举例如下:



Dim MyObject as IADs



Dim Child as IADs



Dim Container as IADsContainer







On Error Resume Next



Set MyObject = GetObject("LDAP://MyServer")



Set Container = MyObject



If Err = 0 Then



    For Each Child in Container



        Debug.Print Child.Name



    Next Child



EndIf



通过这种枚举操作,我们可以访问目录子树中的所有包容器对象和目录对象。



(3) 读取目录对象的属性。



读取对象属性最简单的方法莫过于直接通过对象的IADs::Get或者IADs::GetEx接口成员函数,比如:



Dim MyUser as IADs



Dim MyCommonName as String



set MyUser = GetObject("WinNT://MyServer/MyName")



MyCommonName = MyUser.Get("Fullname")



当然如果我们已经知道了目录对象的其它接口,也可以用更直接的方法访问属性,比如:



Dim MyUser as IADsUser



Dim MyName as String



Set MyUser = GetObject("WinNT://MyServer/MyName")



MyName = MyUser.Fullname



客户程序在访问目录对象时,通常ADSI已经为对象的属性作了缓存。当对象被创建时,其属性缓存为空,如果客户调用IADs::GetInfo从底层目录服务装载对象属性,那么它就会填满缓存,因为Get或者其它的Get_propertymethod函数都隐式调用了GetInfo函数,所以客户只要调用Get函数取一次属性值,以后的Get函数就直接从缓存中读取属性值。如果客户程序要刷新缓存中的属性值,可以显式调用IADs::GetInfo函数。使用缓存可以避免频繁地从服务器读取属性数据,从而降低网络负担。



如果客户程序不希望在缓存状态下读取属性值,可以使用目录对象的另一个接口IDirectoryObject,它可以直接访问底层目录服务的对象属性数据,为了优化性能,每次它可以取多个属性值。



(4) 设置目录对象的属性。



与读取属性相对应,设置对象属性可通过对象的IADs::Put或者IADs::PutEx接口成员函数实现,但是这两个函数只是把属性值写到缓存中,客户程序必须显式调用IADs::SetInfo成员函数,以便使更新后的属性值反映到底层目录服务中。举例如下:



Dim MyUser As IADsUser



Dim NewName As Variant



Set MyUser = GetObject("WinNT://MyServer/MyName")



NewName = "Pan Aimin"



User.Put "FullName", NewName



User.SetInfo



当客户程序创建了一个新的目录对象之后,只有在调用了IADs::SetInfo函数后,目录对象才真正被永久创建,否则只是缓存中的对象而已。



(5) 表结构的用法。



ADSI提供了用表结构描述目录对象属性的机制,客户程序可以在运行时刻访问目录对象表结构信息,下面的代码演示了表结构的基本用法:



Dim Computer As IADsComputer



Dim Class As IADsClass



Dim V As Variant



Set Computer = GetObject("WinNT://MyDomain/MyMachine")



Set Class = GetObject(c.Schema)



Debug.Print "Properties in this Class: "



For Each V In Class.MandatoryProperties



    Debug.Print "   "; V



Next V



For Each V In Class.OptionalProperties



    Debug.Print "   "; V



Next V






 
 
本站关键词:
|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广||东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|东莞google推广|东莞关键词推广|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有