Metodo IDirectoryObject::CreateDSObject (iads.h)
Il metodo IDirectoryObject::CreateDSObject crea un elemento figlio dell'oggetto servizio directory corrente.
Sintassi
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
Parametri
[in] pszRDNName
Fornisce il nome distinto relativo (percorso relativo) dell'oggetto da creare.
[in] pAttributeEntries
Matrice di strutture ADS_ATTR_INFO che contengono definizioni di attributi da impostare al momento della creazione dell'oggetto.
[in] dwNumAttributes
Fornisce un numero di attributi impostati al momento della creazione dell'oggetto.
[out] ppObject
Fornisce un puntatore all'interfaccia IDispatch nell'oggetto creato.
Valore restituito
Questo metodo restituisce i valori restituiti standard, inclusi S_OK per un'operazione riuscita. Per altre informazioni e altri valori restituiti, vedere Codici di errore ADSI.
Commenti
Specificare tutti gli attributi da inizializzare alla creazione nella matrice pAttributeEntries . È anche possibile specificare attributi facoltativi. Quando si crea un oggetto directory con questo metodo, gli attributi con uno qualsiasi dei tipi di dati stringa non possono essere vuoti o di lunghezza zero.
Esempio
L'esempio di codice C/C++ seguente illustra come creare un oggetto utente usando il metodo 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();
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |