IDirectoryObject::CreateDSObject-Methode (iads.h)
Die IDirectoryObject::CreateDSObject-Methode erstellt ein untergeordnetes Element des aktuellen Verzeichnisdienstobjekts.
Syntax
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
Parameter
[in] pszRDNName
Stellt den relativen distinguished Name (relativen Pfad) des zu erstellenden Objekts bereit.
[in] pAttributeEntries
Ein Array von ADS_ATTR_INFO Strukturen, die Attributdefinitionen enthalten, die beim Erstellen des Objekts festgelegt werden sollen.
[in] dwNumAttributes
Stellt eine Reihe von Attributen bereit, die festgelegt werden, wenn das Objekt erstellt wird.
[out] ppObject
Stellt einen Zeiger auf die IDispatch-Schnittstelle für das erstellte Objekt bereit.
Rückgabewert
Diese Methode gibt die Standardmäßigen Rückgabewerte zurück, einschließlich S_OK für einen erfolgreichen Vorgang. Weitere Informationen und andere Rückgabewerte finden Sie unter ADSI-Fehlercodes.
Hinweise
Geben Sie alle Attribute an, die bei der Erstellung im pAttributeEntries-Array initialisiert werden sollen. Sie können auch optionale Attribute angeben. Beim Erstellen eines Verzeichnisobjekts mit dieser Methode dürfen Attribute mit einem der Zeichenfolgendatentypen nicht leer oder mit der Länge null sein.
Beispiele
Im folgenden C/C++-Codebeispiel wird gezeigt, wie ein Benutzerobjekt mithilfe der IDirectoryObject::CreateDSObject-Methode erstellt wird .
HRESULT hr;
IDirectoryObject *pDirObject=NULL;
ADSVALUE sAMValue;
ADSVALUE uPNValue;
ADSVALUE classValue;
LPDISPATCH pDisp;
ADS_ATTR_INFO attrInfo[] =
{
{ L"objectClass", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &classValue, 1 },
{L"sAMAccountName", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &sAMValue, 1},
{L"userPrincipalName", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &uPNValue, 1},
};
DWORD dwAttrs = sizeof(attrInfo)/sizeof(ADS_ATTR_INFO);
classValue.dwType = ADSTYPE_CASE_IGNORE_STRING;
classValue.CaseIgnoreString = L"user";
sAMValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
sAMValue.CaseIgnoreString = L"jeffsmith";
uPNValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
uPNValue.CaseIgnoreString = L"jeffsmith@Fabrikam.com";
hr = ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=com",
IID_IDirectoryObject, (void**) &pDirObject );
if ( SUCCEEDED(hr) )
{
hr = pDirObject->CreateDSObject( L"CN=Jeff Smith", attrInfo,
dwAttrs, &pDisp );
if ( SUCCEEDED(hr) )
{
// Use the DS object.
pDisp->Release();
}
pDirObject->Release();
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |