Freigeben über


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

Weitere Informationen

ADSI-Fehlercodes

ADS_ATTR_INFO

IDirectoryObject