Metode Properti IAD
Metode properti antarmuka IAD mendapatkan atau mengatur properti yang dijelaskan dalam tabel berikut. Untuk informasi selengkapnya tentang metode properti, lihat Metode Properti Antarmuka.
Properti
-
ADsPath
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_ADsPath( [out] BSTR* pbstrADsPath );
String ADsPath dari objek ini. String secara unik mengidentifikasi objek ini di lingkungan jaringan. Objek selalu dapat diambil menggunakan jalur ini.
-
-
Kelas
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_Class( [out] BSTR* pbstrClass );
Nama kelas Skema objek.
-
-
GUID
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_GUID( [out] BSTR* pbstrGUID );
Pengidentifikasi unik global dari objek direktori. Antarmuka IAD mengonversi GUID dari string oktet, seperti yang disimpan di server direktori, menjadi format string.
-
-
Nama
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName );
Nama relatif objek seperti yang dinamai dalam layanan direktori yang mendasar. Nama ini membedakan objek ini dari saudara-saudaranya.
-
-
Induk
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_Parent( [out] BSTR* pbstrParent );
String ADsPath dari kontainer induk. Direktori Aktif tidak mengizinkan pembentukan ADsPath dari objek tertentu dengan menggabungkan properti Induk dan Nama . Meskipun operasi ini mungkin berfungsi di beberapa penyedia, operasi ini tidak dijamin berfungsi untuk semua implementasi. ADsPath dijamin valid dan harus selalu digunakan untuk mengambil penunjuk antarmuka objek.
-
-
Skema
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_Schema( [out] BSTR* pbstrSchema );
String ADsPath dari objek kelas Skema objek ini.
-
Keterangan
Di Direktori Aktif, GUID yang dikembalikan dari GUID adalah string heksadesimal. Gunakan GUID yang dihasilkan untuk mengikat objek secara langsung.
Dim x As IADs
Set x = GetObject("LDAP://servername/<GUID=xxx>")
di mana xxx adalah nilai yang dikembalikan dari properti GUID. Untuk informasi selengkapnya, lihat Menggunakan objectGUID untuk Mengikat ke Objek. Ketahuilah bahwa jika Anda menggunakan GUID untuk mengikat objek, metode properti ADsPath mengembalikan nilai yang berbeda dari nilai normal yang akan dikembalikan jika Anda menggunakan nama yang dibedakan (DN) untuk mengikat ke objek yang sama. Misalnya, tabel berikut mencantumkan nilai yang dikembalikan saat menggunakan dua metode pengikatan yang berbeda untuk mengikat ke objek pengguna yang sama.
Mengikat menggunakan DN | Mengikat menggunakan GUID | |
---|---|---|
Nama | CN=Jeff Smith | CN=Jeff Smith |
Induk | LDAP://server/CN=Users,DC=Fabrikam,DC=com | LDAP://server/CN=Users,DC=Fabrikam,DC=com |
ADsPath | LDAP://server/CN=Jeff Smith,CN=Users,DC=Fabrikam,DC=com | <LDAP://server/ GUID=c0f59dfcf507d311a99e0000f879f7c7> |
Catatan
Penyedia WinNT tidak mendukung pengikatan menggunakan GUID objek, dan mengembalikan properti GUID dalam format string yang sedikit berbeda.
Contoh
Contoh kode berikut menunjukkan cara mengambil data objek menggunakan metode properti antarmuka IAD .
Dim x As IADs
Dim parent As IADsContainer
Dim cls As IADsClass
Dim op As Variant
On Error GoTo Cleanup
Set x = GetObject("WinNT://Fabrikam/Administrator")
Debug.Print "Object Name: " & x.Name
Debug.Print "Object Path: " & x.ADsPath
Debug.Print "Object Class: " & x.Class
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Debug.Print "Class Name is: " & cls.Name
For Each op In cls.OptionalProperties
Debug.Print "Optional Property: " & op
Next op
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set x = Nothing
Set parent = Nothing
Set cls = Nothing
Contoh kode berikut menunjukkan cara mengambil data objek menggunakan metode properti antarmuka IAD .
<HTML>
<head><title></title></head>
<body>
<%
Dim x
On Error Resume Next
Set x = GetObject("WinNT://Fabrikam/Administrator")
Response.Write "Object Name: " & x.Name & "<br>"
Response.Write "Object Path: " & x.ADsPath & "<br>"
Response.Write "Object Class: " & x.Class & "<br>"
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Response.Write "Class Name is: " & cls.Name & "<br>"
For Each op In cls.OptionalProperties
Response.Write "Optional Property: " & op & "<br>"
Next op
%>
</body>
</html>
Contoh kode berikut menunjukkan cara bekerja dengan metode properti antarmuka IAD .
#include <stdio.h>
#include <activeds.h>
int main(int argc, char* argv[])
{
IADs *pADs = NULL;
IADsUser *pADsUser = NULL;
IADsClass *pCls = NULL;
CComBSTR sbstr;
HRESULT hr = CoInitialize(NULL);
if (hr != S_OK) { return 0; }
hr=ADsGetObject(L"WinNT://Fabrikam/Administrator",
IID_IADsUser,
(void**) &pADsUser);
if (hr != S_OK) { goto Cleanup; }
hr = pADsUser->QueryInterface(IID_IADs, (void**) &pADs);
if( hr !=S_OK) { goto Cleanup;}
pADsUser->Release();
if( S_OK == pADs->get_Name(&sbstr) ) {
printf("Object Name: %S\n",sbstr);
}
if( S_OK == pADs->get_ADsPath(&sbstr) ) {
printf("Object path: %S\n",sbstr);
}
if( S_OK == pADs->get_Class(&sbstr) ) {
printf("Object class: %S\n",sbstr);
}
hr = pADs->get_Schema(&sbstr);
if ( hr != S_OK) {goto Cleanup;}
hr = ADsGetObject(sbstr,IID_IADsClass, (void**)&pCls);
if ( hr != S_OK) {goto Cleanup;}
if( S_OK == pCls->get_Name(&sbstr) ) {
printf("Class name is %S\n", sbstr);
}
Cleanup:
if(pADs)
pADs->Release();
if(pIADsUser)
pADsUser->Release();
if(IADsClass)
pADsClass->Release();
CoUninitialize();
if(hr==S_OK)
{
return 1;
}
else
{
return 0;
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Header |
|
DLL |
|
IID |
IID_IADs didefinisikan sebagai FD8256D0-FD15-11CE-ABC4-02608C9E7553 |