Método IDirectoryObject::CreateDSObject (iads.h)
O método IDirectoryObject::CreateDSObject cria um filho do objeto de serviço de diretório atual.
Sintaxe
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
Parâmetros
[in] pszRDNName
Fornece o nome diferenciado relativo (caminho relativo) do objeto a ser criado.
[in] pAttributeEntries
Uma matriz de estruturas ADS_ATTR_INFO que contêm definições de atributo a serem definidas quando o objeto é criado.
[in] dwNumAttributes
Fornece vários atributos definidos quando o objeto é criado.
[out] ppObject
Fornece um ponteiro para a interface IDispatch no objeto criado.
Retornar valor
Esse método retorna os valores retornados padrão, incluindo S_OK para uma operação bem-sucedida. Para obter mais informações e outros valores retornados, consulte Códigos de erro ADSI.
Comentários
Especifique todos os atributos a serem inicializados na criação na matriz pAttributeEntries . Você também pode especificar atributos opcionais. Ao criar um objeto de diretório com esse método, os atributos com qualquer um dos tipos de dados de cadeia de caracteres não podem ser vazios ou de comprimento zero.
Exemplos
O exemplo de código C/C++ a seguir mostra como criar um objeto de usuário usando o 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | iads.h |
DLL | Activeds.dll |