Methoden der IADsPropertyValue-Eigenschaft
Die Eigenschaftenmethoden der IADsPropertyValue-Schnittstelle ermöglichen den Zugriff auf die in der folgenden Tabelle beschriebenen Eigenschaften. Weitere Informationen finden Sie unter Methoden der Schnittstelleneigenschaft.
Eigenschaften
-
ADsType
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* ADsType ); HRESULT put_ADsType( [in] LONG ADsType );
Der Datentyp des Werts der Eigenschaft, die aus der ADSTYPEENUM-Enumeration der value-Eigenschaft stammt.
-
-
Boolean
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: LONG
-
// C++ method syntax HRESULT get_Boolean( [out] LONG* lnBoolean ); HRESULT put_Boolean( [in] LONG lnBoolean );
Boolescher Wert.
-
-
CaseExactString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_CaseExactString( [out] BSTR* bstrCaseExactString ); HRESULT put_CaseExactString( [in] BSTR bstrCaseExactString );
Zu interpretierende Zeichenfolge. Groß-/Kleinschreibung wird beachtet,
-
-
CaseIgnoreString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_CaseIgnoreString( [out] BSTR* bstrCaseIgnoreString ); HRESULT put_CaseIgnoreString( [in] BSTR bstrCaseIgnoreString );
Zu interpretierende Zeichenfolge. Diese Klasse berücksichtigt keine Groß-/Kleinschreibung.
-
-
DNString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_DNString( [out] BSTR* bstrDNString ); HRESULT put_DNString( [in] BSTR bstrDNString );
Zeichenfolge, die den distinguished Name (Pfad) eines Verzeichnisdienstwertobjekts identifiziert.
-
-
Integer
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: LONG
-
// C++ method syntax HRESULT get_Integer( [out] LONG* lnInteger ); HRESULT put_Integer( [in] LONG lnInteger );
Wert für ganze Zahl.
-
-
LargeInteger
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: IDispatch
-
// C++ method syntax HRESULT get_LargeInteger( [out] IDispatch** ppLargeInteger ); HRESULT put_LargeInteger( [in] IDispatch* pLargeInteger );
Zeiger auf die IDispatch-Schnittstelle des Objekts, das IADsLargeInteger für diesen Wert implementiert.
-
-
NumericString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_NumericString( [out] BSTR* bstrNumericString ); HRESULT put_NumericString( [in] BSTR bstrNumericString );
Zu interpretierenden Text. Numerischer Typ.
-
-
OctetString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: VARIANT
-
// C++ method syntax HRESULT get_OctetString( [in] VARIANT* vOctetString ); HRESULT put_OctetString( [in] VARIANT* vOctetString );
Variant-Array von Ein-Byte-Zeichen.
-
-
PrintableString
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_PrintableString( [out] BSTR* bstrPrintableString ); HRESULT put_PrintableString( [in] BSTR bstrPrintableString );
Zeichenfolge anzeigen oder drucken.
-
-
SecurityDescriptor
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: IDispatch
-
// C++ method syntax HRESULT get_SecurityDescriptor( [out] IDispatch** ppSecurityDescriptor ); HRESULT put_SecurityDescriptor( [in] IDispatch* pSecurityDescriptor );
Zeiger auf die IDispatch-Schnittstelle des Objekts, das IADsSecurityDescriptor für diesen Wert implementiert.
-
-
UTCTime
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: DATE
-
// C++ method syntax HRESULT get_UTCTime( [out] DATE* daUTCTime ); HRESULT put_UTCTime( [in] DATE daUTCTime );
Ein Datum des VT_DATE Typs, der im UTC-Format (Koordinierte Weltzeit) ausgedrückt wird.
-
Bemerkungen
Die IADsPropertyValue-Eigenschaften legen nur einen Eigenschaftswert des angegebenen Typs fest oder rufen sie ab. Beispielsweise führt die CaseIgnoreString-Eigenschaft für ein Attribut vom Typ ADSTYPE_DN_STRING, wie das Attribut distinguishedName , zu einem Fehler. Die CaseIgnoreString-Eigenschaft funktioniert nur für Attribute vom Typ ADS_CASE_IGNORE_STRING. In der folgenden Tabelle wird der ADSTYPEENUM-Wert der entsprechenden IADsPropertyValue-Eigenschaft zugeordnet, die für den Zugriff auf diesen Attributtyp verwendet werden kann. Wenn ein ADSTYPEENUM-Wert in dieser Tabelle nicht aufgeführt ist, ist er über die IADsPropertyValue-Schnittstelle nicht verfügbar. Die IADsPropertyValue2-Schnittstelle sollte verwendet werden, um Daten in den anderen Formaten abzurufen.
ADSTYPEENUM-Wert | IADsPropertyValue-Eigenschaft |
---|---|
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 | Integer |
ADSTYPE_OCTET_STRING | OctetString |
ADSTYPE_UTC_TIME | UTCTime |
ADSTYPE_LARGE_INTEGER | LargeInteger |
ADSTYPE_NT_SECURITY_DESCRIPTOR | SecurityDescriptor |
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie eine Eigenschaft aus der Eigenschaftenliste abgerufen wird.
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
Der folgende Code zeigt, wie Sie IADsPropertyValue::get_CaseIgnoreString verwenden, um den Wert der Description-Eigenschaft aus einer Eigenschaftenliste abzurufen.
#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);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Header |
|
DLL |
|
IID |
IID_IADsPropertyValue ist definiert als 79FA9AD0-A97C-11D0-8534-00C04FD8D503 |