Metode Properti IADsPropertyValue
Metode properti antarmuka IADsPropertyValue menyediakan akses ke properti yang dijelaskan dalam tabel berikut. Untuk informasi selengkapnya, lihat Metode Properti Antarmuka.
Properti
-
ADsType
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* ADsType ); HRESULT put_ADsType( [in] LONG ADsType );
Jenis data nilai properti, yang diambil dari enumerasi ADSTYPEENUM , dari properti nilai.
-
-
Boolean
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: LONG
-
// C++ method syntax HRESULT get_Boolean( [out] LONG* lnBoolean ); HRESULT put_Boolean( [in] LONG lnBoolean );
Nilai boolean.
-
-
CaseExactString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_CaseExactString( [out] BSTR* bstrCaseExactString ); HRESULT put_CaseExactString( [in] BSTR bstrCaseExactString );
String yang akan ditafsirkan. Peka huruf besar/kecil.
-
-
CaseIgnoreString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_CaseIgnoreString( [out] BSTR* bstrCaseIgnoreString ); HRESULT put_CaseIgnoreString( [in] BSTR bstrCaseIgnoreString );
String yang akan ditafsirkan. Tidak peka huruf besar/kecil.
-
-
DNString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_DNString( [out] BSTR* bstrDNString ); HRESULT put_DNString( [in] BSTR bstrDNString );
String yang mengidentifikasi nama (jalur) yang dibedakan dari objek nilai layanan direktori.
-
-
Bilangan bulat
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: LONG
-
// C++ method syntax HRESULT get_Integer( [out] LONG* lnInteger ); HRESULT put_Integer( [in] LONG lnInteger );
Nilai bilangan bulat.
-
-
Bilangan Bulat Besar
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: IDispatch
-
// C++ method syntax HRESULT get_LargeInteger( [out] IDispatch** ppLargeInteger ); HRESULT put_LargeInteger( [in] IDispatch* pLargeInteger );
Arahkan ke antarmuka IDispatch objek yang mengimplementasikan IADsLargeInteger untuk nilai ini.
-
-
NumericString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_NumericString( [out] BSTR* bstrNumericString ); HRESULT put_NumericString( [in] BSTR bstrNumericString );
Teks yang akan ditafsirkan. Jenis numerik.
-
-
OktetString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: VARIAN
-
// C++ method syntax HRESULT get_OctetString( [in] VARIANT* vOctetString ); HRESULT put_OctetString( [in] VARIANT* vOctetString );
Array varian karakter satu byte.
-
-
PrintableString
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: BSTR
-
// C++ method syntax HRESULT get_PrintableString( [out] BSTR* bstrPrintableString ); HRESULT put_PrintableString( [in] BSTR bstrPrintableString );
Menampilkan atau mencetak string.
-
-
SecurityDescriptor
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: IDispatch
-
// C++ method syntax HRESULT get_SecurityDescriptor( [out] IDispatch** ppSecurityDescriptor ); HRESULT put_SecurityDescriptor( [in] IDispatch* pSecurityDescriptor );
Arahkan ke antarmuka IDispatch objek yang mengimplementasikan IADsSecurityDescriptor untuk nilai ini.
-
-
UTCTime
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: TANGGAL
-
// C++ method syntax HRESULT get_UTCTime( [out] DATE* daUTCTime ); HRESULT put_UTCTime( [in] DATE daUTCTime );
Tanggal jenis VT_DATE yang dinyatakan dalam format Waktu Universal Terkoordinasi (UTC).
-
Keterangan
Properti IADsPropertyValue hanya akan mengatur atau mengambil nilai properti dari jenis yang ditentukan. Misalnya, properti CaseIgnoreString pada atribut jenis ADSTYPE_DN_STRING, seperti atribut distinguishedName , akan mengakibatkan kesalahan. Properti CaseIgnoreString hanya akan berfungsi pada atribut jenis ADS_CASE_IGNORE_STRING. Tabel berikut memetakan nilai ADSTYPEENUM ke properti IADsPropertyValue terkait yang dapat digunakan untuk mengakses jenis atribut tersebut. Jika nilai ADSTYPEENUM tidak tercantum dalam tabel ini, nilai tersebut tidak tersedia dari antarmuka IADsPropertyValue . Antarmuka IADsPropertyValue2 harus digunakan untuk mendapatkan data dalam format lain.
Nilai ADSTYPEENUM | Properti IADsPropertyValue |
---|---|
ADSTYPE_DN_STRING | DNString |
ADSTYPE_CASE_EXACT_STRING | CaseExactString |
ADSTYPE_CASE_IGNORE_STRING | CaseIgnoreString |
ADSTYPE_PRINTABLE_STRING | PrintableString |
ADSTYPE_NUMERIC_STRING | NumericString |
ADSTYPE_BOOLEAN | Boolean |
ADSTYPE_INTEGER | Bilangan bulat |
ADSTYPE_OCTET_STRING | OktetString |
ADSTYPE_UTC_TIME | UTCTime |
ADSTYPE_LARGE_INTEGER | Bilangan Bulat Besar |
ADSTYPE_NT_SECURITY_DESCRIPTOR | SecurityDescriptor |
Contoh
Contoh kode berikut menunjukkan cara mengambil properti dari daftar properti.
Dim propList As IADsPropertyList
Dim propEntry As IADsPropertyEntry
Dim propVal As IADsPropertyValue
On Error GoTo Cleanup
' Retrieve the property list.
Set propList = GetObject("LDAP://dc01/DC=Fabrikam,DC=com")
propList.GetInfo
' Retrieve a property entry. If you are certain of the property type,
' replace ADSTYPE_UNKNOWN with the actual property type.
Set propEntry = propList.GetPropertyItem("description", ADSTYPE_UNKNOWN)
' Print the property entry values.
For Each v In propEntry.Values
Set propVal = v
Select Case propVal.ADsType
Case ADSTYPE_CASE_EXACT_STRING
Debug.Print propVal.CaseExactString
Case ADSTYPE_CASE_IGNORE_STRING
Debug.Print propVal.CaseIgnoreString
Case Else
Debug.Print "Unable to handle a property of type: " & propVal.ADsType
End Select
Next
Cleanup:
If (Err.Number<>0) Then
Debug.Print "An error has occurred. " & Err.Number
End If
Set propList = Nothing
Set propEntry = Nothing
Set propVal = Nothing
Kode berikut menunjukkan cara menggunakan IADsPropertyValue::get_CaseIgnoreString untuk mengambil nilai properti deskripsi dari daftar properti.
#include <activeds.h>
#include <stdio.h>
IADsPropertyList *pList = NULL;
IADsPropertyEntry *pEntry = NULL;
IADsPropertyValue *pVal = NULL;
IADs *pObj = NULL;
VARIANT var, varItem;
BSTR valStr;
IEnumVARIANT *pEnum = NULL;
LONG lstart = 0;
LONG lend = 0;
LONG lADsType = ADSTYPE_UNKNOWN;
VariantInit(&var);
VariantInit(&varItem);
// Bind to the directory object.
HRESULT hr = ADsGetObject(L"LDAP://dc01/DC=Fabrikam,DC=com",
IID_IADsPropertyList,
(void**)&pList);
if(FAILED(hr)){goto Cleanup;}
// Initialize the property cache.
hr = pList->QueryInterface(IID_IADs,(void**)&pObj);
if(FAILED(hr)){goto Cleanup;}
pObj->GetInfo();
pObj->Release();
// Retrieve the property entry.
hr = pList->GetPropertyItem(CComBSTR("description"), ADSTYPE_CASE_IGNORE_STRING, &var);
pList->Release();
if(FAILED(hr)){goto Cleanup;}
hr = V_DISPATCH(&var)->QueryInterface(IID_IADsPropertyEntry,
(void**)&pEntry);
VariantClear(&var);
if(FAILED(hr)){goto Cleanup;}
// Retrieve the value array of the property entry.
hr = pEntry->get_Values(&var);
if(FAILED(hr)){goto Cleanup;}
SAFEARRAY *sa = V_ARRAY( &var );
// Retrieve the lower and upper bound. Iterate and print the values.
hr = SafeArrayGetLBound( sa, 1, &lstart );
hr = SafeArrayGetUBound( sa, 1, &lend );
printf(" Property value(s) = ");
for ( long idx=lstart; idx < lend+1; idx++ ) {
hr = SafeArrayGetElement( sa, &idx, &varItem );
hr = V_DISPATCH(&varItem)->QueryInterface(IID_IADsPropertyValue,
(void**)&pVal);
if(FAILED(hr)){goto Cleanup;}
pVal->get_ADsType(&lADsType);
switch(lADsType)
{
case ADSTYPE_CASE_IGNORE_STRING:
{
hr = pVal->get_CaseIgnoreString(&valStr);
break;
}
case ADSTYPE_CASE_EXACT_STRING:
{
hr = pVal->get_CaseExactString(&valStr);
break;
}
default:
{
valStr = SysAllocString(L"Unable to handle a property of this type");
break;
}
}
if(FAILED(hr)){goto Cleanup;}
printf(" %S ", valStr);
SysFreeString(valStr);
VariantClear(&varItem);
}
printf("\n");
Cleanup:
if(pList)
pList = NULL;
if(pEntry)
pEntry = NULL;
if(pVal)
pVal = NULL;
if(pObj)
pObj = NULL;
if(pEnum)
pEnum = NULL;
SysFreeString(valStr);
VariantClear(&varItem);
VariantClear(&var);
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Header |
|
DLL |
|
IID |
IID_IADsPropertyValue didefinisikan sebagai 79FA9AD0-A97C-11D0-8534-00C04FD8D503 |