Método IDirectoryObject::CreateDSObject (iads.h)
El método IDirectoryObject::CreateDSObject crea un elemento secundario del objeto de servicio de directorio actual.
Sintaxis
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
Parámetros
[in] pszRDNName
Proporciona el nombre distintivo relativo (ruta de acceso relativa) del objeto que se va a crear.
[in] pAttributeEntries
Matriz de estructuras de ADS_ATTR_INFO que contienen definiciones de atributo que se van a establecer cuando se crea el objeto.
[in] dwNumAttributes
Proporciona una serie de atributos establecidos cuando se crea el objeto.
[out] ppObject
Proporciona un puntero a la interfaz IDispatch en el objeto creado.
Valor devuelto
Este método devuelve los valores devueltos estándar, incluidos S_OK para una operación correcta. Para obtener más información y otros valores devueltos, vea Códigos de error adsi.
Comentarios
Especifique todos los atributos que se van a inicializar al crearlos en la matriz pAttributeEntries . También puede especificar atributos opcionales. Al crear un objeto de directorio con este método, los atributos con cualquiera de los tipos de datos de cadena no pueden estar vacíos ni de longitud cero.
Ejemplos
En el siguiente ejemplo de código de C/C++ se muestra cómo crear un objeto de usuario mediante el método 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();
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | iads.h |
Archivo DLL | Activeds.dll |