Metode Properti Antarmuka
Banyak antarmuka ADSI dirancang untuk mendukung Automation dan dengan demikian merupakan antarmuka ganda karena antarmuka mendukung akses klien melalui antarmuka IUnknown dan IDispatch . Klien Non-Automation, seperti yang ditulis dalam C/C++, menyelesaikan pemanggilan metode secara langsung, menggunakan metode IUnknown::QueryInterface , dan memanggil metode secara langsung. Klien Automation, juga dikenal sebagai klien terikat nama, seperti yang ditulis dalam Visual Basic, atau Visual Basic Scripting Edition (VBScript), harus menyelesaikan pemanggilan metode secara tidak langsung menggunakan metode dispinterface .
Antarmuka ADSI yang mendukung Automation mendefinisikan metode properti untuk mengambil dan memodifikasi properti objek yang mengimplementasikan antarmuka. Metode properti memiliki nama yang telah get_ dan put_ prepended ke nama properti yang sesuai, misalnya, get_User dan put_Name.
Setiap metode get_ mengambil satu parameter sebagai output. Parameter ini adalah alamat yang dialokasikan metode dari variabel jenis data properti. Saat dikembalikan, variabel ini mengasumsikan nilai saat ini dari properti yang diminta. Pemanggil harus melepaskan memori variabel yang dialokasikan ketika properti tidak lagi diperlukan.
Setiap metode put_ mengambil satu parameter sebagai input untuk jenis data properti yang sesuai. Parameter menyimpan nilai baru properti .
Contoh kode berikut menunjukkan pemanggilan metode properti yang mengikuti prosedur biasa untuk memanggil fungsi anggota objek.
IADs *pADs;
BSTR bstrName;
pADs->get_Name(&bstrName);
Contoh kode berikut menunjukkan pemanggilan metode properti di klien otomatisasi, yang bisa agak berbeda. Misalnya, Visual Basic menggunakan notasi titik.
Dim Obj As IADs
Dim objName As String
objName = Obj.Name
Semua parameter dan jenis pengembalian harus dari jenis data VARIAN yang ditentukan. Semua metode pada antarmuka ganda mengembalikan nilai HRESULT untuk menunjukkan keberhasilan atau kegagalan.
Untuk informasi selengkapnya tentang mendapatkan dan mengatur properti pada objek ADSI, lihat Cache Properti.