Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |