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 IADsClass-Schnittstelle ist für die Verwaltung von Schemaklassenobjekten konzipiert, die Klassendefinitionen für jedes ADSI-Objekt bereitstellen. Andere Schemaverwaltungsschnittstellen umfassen IADsProperty für Attributdefinitionen und IADsSyntax für Attributsyntax.
Vererbung
Die IADsClass-Schnittstelle erbt von IDispatch und IADs. IADsClass verfügt auch über folgende Membertypen:
Methoden
Die IADsClass-Schnittstelle verfügt über diese Methoden.
|
IADsClass::Qualifizierer Gibt eine Auflistung von ADSI-Objekten zurück, die zusätzliche Qualifizierer für diese Schemaklasse beschreiben. |
Hinweise
Schemaobjekte werden im Schemacontainer eines bestimmten Verzeichnisses organisiert. Um auf die Schemaklasse eines Objekts zuzugreifen, verwenden Sie die Schema-Eigenschaft des Objekts (rufen Sie die IADs::get_Schema-Eigenschaftsmethode auf), um die ADsPath-Zeichenfolge abzurufen, und verwenden Sie diese Zeichenfolge, um an sein Schemaklassenobjekt zu binden.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie die IADsClass-Schnittstelle implementiert wird.
Dim obj As IADs
Dim cls As IADsClass
On Error GoTo Cleanup
Set obj = GetObject("WinNT://myMachine,computer")
Set cls = GetObject(obj.Schema)
' Inspecting mandatory and optional properties.
For Each p In cls.MandatoryProperties
MsgBox "Must-have: " & p
Next
For Each p In cls.OptionalProperties
MsgBox "May-have: " & p
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set obj = Nothing
Set cls = Nothing
Im folgenden Codebeispiel wird gezeigt, wie die IADsClass-Schnittstelle implementiert wird.
HRESULT hr = S_OK;
IADsClass *pCls = NULL;
IADs *pADs;
BSTR bstrSchema;
VARIANT var;
hr = CoInitialize(NULL);
hr = ADsGetObject(L"WinNT://myComputer,computer",
IID_IADs,
(void**)&pADs);
if (FAILED(hr)) { goto Cleanup;}
hr = pADs->get_Schema(&bstrSchema);
pADs->Release();
if(FAILED(hr)) { goto Cleanup; }
hr = ADsGetObject(bstrSchema, IID_IADsClass, (void**)&pCls);
if(FAILED(hr)) { goto Cleanup; }
VariantInit(&var);
pCls->get_MandatoryProperties(&var);
hr = printVarArray(var);
VariantClear(&var);
pCls->get_OptionalProperties(&var);
hr = printVarArray(var);
Cleanup:
if(pCls)
pCls->Release();
if(pADs)
pADs->Release();
SysFreeString(bstrSchema);
VariantClear(&var);
CoUninitialize();
return hr;
Im folgenden Codebeispiel wird gezeigt, wie die printVarArray-Funktion implementiert wird.
HRESULT printVarArray(VARIANT var)
{
LONG lstart, lend;
VARIANT varItem;
HRESULT hr;
SAFEARRAY *sa = V_ARRAY( &var );
hr = SafeArrayGetLBound( sa, 1, &lstart );
hr = SafeArrayGetUBound( sa, 1, &lend );
VariantInit(&varItem);
for ( long idx=lstart; idx <= lend; idx++ ) {
hr = SafeArrayGetElement( sa, &idx, &varItem );
printf(" %S \n", V_BSTR(&varItem));
VariantClear(&varItem);
}
printf("\n");
return S_OK;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows Vista |
| Unterstützte Mindestversion (Server) | Windows Server 2008 |
| Zielplattform | Windows |
| Kopfzeile | iads.h |