IDirectoryObject ::CreateDSObject, méthode (iads.h)
La méthode IDirectoryObject ::CreateDSObject crée un enfant de l’objet de service d’annuaire actif.
Syntaxe
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
Paramètres
[in] pszRDNName
Fournit le nom unique relatif (chemin relatif) de l’objet à créer.
[in] pAttributeEntries
Tableau de structures ADS_ATTR_INFO qui contiennent des définitions d’attributs à définir lors de la création de l’objet.
[in] dwNumAttributes
Fournit un certain nombre d’attributs définis lors de la création de l’objet.
[out] ppObject
Fournit un pointeur vers l’interface IDispatch sur l’objet créé.
Valeur retournée
Cette méthode retourne les valeurs de retour standard, y compris les S_OK pour une opération réussie. Pour plus d’informations et d’autres valeurs de retour, consultez Codes d’erreur ADSI.
Remarques
Spécifiez tous les attributs à initialiser lors de la création dans le tableau pAttributeEntries . Vous pouvez également spécifier des attributs facultatifs. Lors de la création d’un objet répertoire avec cette méthode, les attributs avec l’un des types de données de chaîne ne peuvent pas être vides ou de longueur nulle.
Exemples
L’exemple de code C/C++ suivant montre comment créer un objet utilisateur à l’aide de la méthode IDirectoryObject ::CreateDSObject .
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();
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll |