ADS_SEARCHPREF_ENUM enumeração (iads.h)

A enumeração ADS_SEARCHPREF_ENUM especifica preferências para um objeto IDirectorySearch . Essa enumeração é usada no membro dwSearchPref da estrutura ADS_SEARCHPREF_INFO no método IDirectorySearch::SetSearchPreference .

Syntax

typedef enum __MIDL___MIDL_itf_ads_0000_0000_0025 {
  ADS_SEARCHPREF_ASYNCHRONOUS = 0,
  ADS_SEARCHPREF_DEREF_ALIASES,
  ADS_SEARCHPREF_SIZE_LIMIT,
  ADS_SEARCHPREF_TIME_LIMIT,
  ADS_SEARCHPREF_ATTRIBTYPES_ONLY,
  ADS_SEARCHPREF_SEARCH_SCOPE,
  ADS_SEARCHPREF_TIMEOUT,
  ADS_SEARCHPREF_PAGESIZE,
  ADS_SEARCHPREF_PAGED_TIME_LIMIT,
  ADS_SEARCHPREF_CHASE_REFERRALS,
  ADS_SEARCHPREF_SORT_ON,
  ADS_SEARCHPREF_CACHE_RESULTS,
  ADS_SEARCHPREF_DIRSYNC,
  ADS_SEARCHPREF_TOMBSTONE,
  ADS_SEARCHPREF_VLV,
  ADS_SEARCHPREF_ATTRIBUTE_QUERY,
  ADS_SEARCHPREF_SECURITY_MASK,
  ADS_SEARCHPREF_DIRSYNC_FLAG,
  ADS_SEARCHPREF_EXTENDED_DN
} ADS_SEARCHPREF_ENUM;

Constantes

 
ADS_SEARCHPREF_ASYNCHRONOUS
Valor: 0
Especifica que as pesquisas devem ser executadas de forma assíncrona. Por padrão, as pesquisas são síncronas.

Em uma pesquisa síncrona, os métodos IDirectorySearch::GetFirstRow e IDirectorySearch::GetNextRow não retornam até que o servidor retorne todo o resultado ou para uma pesquisa paginada, a página inteira.

Uma pesquisa assíncrona bloqueia até que uma linha dos resultados da pesquisa esteja disponível ou até que o intervalo de tempo limite especificado pelo ADS_SEARCHPREF_TIMEOUT preferência de pesquisa se especifique.
ADS_SEARCHPREF_DEREF_ALIASES
Especifica que os aliases dos objetos encontrados devem ser resolvidos. Use a enumeração ADS_DEREFENUM para especificar como isso é executado.
ADS_SEARCHPREF_SIZE_LIMIT
Especifica o limite de tamanho que o servidor deve observar durante uma pesquisa. O servidor para de pesquisar quando o limite de tamanho é atingido e retorna os resultados acumulados para esse ponto. Se esse valor for zero, o limite de tamanho será determinado pelo serviço de diretório. O padrão para esse valor é zero. Se esse valor for maior que o limite de tamanho determinado pelo serviço de diretório, o limite de serviço de diretório terá precedência.

Para o Active Directory, o limite de tamanho especifica o número máximo de objetos a serem retornados pela pesquisa. Também para o Active Directory, o número máximo de objetos retornados por uma pesquisa é de 1000 objetos.
ADS_SEARCHPREF_TIME_LIMIT
Especifica o número de segundos que o servidor aguarda a conclusão de uma pesquisa. Quando o limite de tempo é atingido, o servidor para de pesquisar e retorna os resultados acumulados para esse ponto. Se esse valor for zero, o período de tempo limite será infinito. O padrão para esse valor é 120 segundos.
ADS_SEARCHPREF_ATTRIBTYPES_ONLY
Indica que a pesquisa deve obter apenas o nome dos atributos aos quais os valores são atribuídos.
ADS_SEARCHPREF_SEARCH_SCOPE
Especifica o escopo de pesquisa que deve ser observado pelo servidor. Para obter mais informações sobre as configurações apropriadas, consulte a enumeração ADS_SCOPEENUM .
ADS_SEARCHPREF_TIMEOUT
Especifica o limite de tempo, em segundos, que um cliente aguardará o servidor retornar o resultado. Essa opção é definida em uma estrutura ADS_SEARCHPREF_INFO .
ADS_SEARCHPREF_PAGESIZE
Especifica o tamanho da página em uma pesquisa paginada. Para cada solicitação do cliente, o servidor retorna, no máximo, o número de objetos conforme definido pelo tamanho da página. Quando o tamanho da página é definido, é desnecessário definir o limite de tamanho. Se um limite de tamanho for definido, o valor do tamanho da página deverá ser menor que o valor do limite de tamanho. Se o valor do tamanho da página exceder o limite de tamanho, o erro ERROR_DS_SIZELIMIT_EXCEEDED será retornado com o número de linhas especificado pelo limite de tamanho.
ADS_SEARCHPREF_PAGED_TIME_LIMIT
Especifica o número de segundos que o servidor deve aguardar por uma página de resultados da pesquisa, em vez do limite de tempo para toda a pesquisa. Quando o limite de tempo é atingido, o servidor para de pesquisar e retorna os resultados obtidos até esse ponto, juntamente com um cookie que contém os dados sobre onde retomar a pesquisa. Se esse valor for zero, o período de tempo limite da página será infinito. O valor padrão para esse limite é de 120 segundos.
ADS_SEARCHPREF_CHASE_REFERRALS
Especifica que as indicações podem ser perseguidas. Se a pesquisa raiz não for especificada no contexto de nomenclatura do servidor ou quando os resultados da pesquisa cruzarem um contexto de nomenclatura, por exemplo, quando você tiver domínios filho e pesquisar no domínio pai, o servidor enviará uma mensagem de indicação para o cliente que o cliente pode optar por ignorar ou perseguir. Para obter mais informações sobre a busca de referências, consulte ADS_CHASE_REFERRALS_ENUM.
ADS_SEARCHPREF_SORT_ON
Especifica que o servidor classifica o conjunto de resultados. Use a estrutura ADS_SORTKEY para especificar as chaves de classificação. Essa preferência de pesquisa funciona apenas para servidores de diretório que dão suporte ao controle LDAP para classificação do lado do servidor. O Active Directory dá suporte ao controle de classificação, mas pode afetar o desempenho do servidor, especialmente se o conjunto de resultados for grande. O Active Directory dá suporte apenas a uma única chave de classificação.
ADS_SEARCHPREF_CACHE_RESULTS
Especifica se o resultado deve ser armazenado em cache no lado do cliente. Por padrão, o ADSI armazena em cache o conjunto de resultados. Desabilitar essa opção pode ser desejável para conjuntos de resultados grandes.
ADS_SEARCHPREF_DIRSYNC
Especifica uma pesquisa de dirsync (sincronização de diretório), que retorna todas as alterações desde um estado especificado. Na estrutura ADSVALUE , defina o membro dwType como ADS_PROV_SPECIFIC. O membro ProviderSpecific é uma estrutura ADS_PROV_SPECIFIC cujo membro lpValue especifica um cookie que indica o estado do qual as alterações são recuperadas. Na primeira vez que você usar o controle DirSync, defina os membros dwLength e lpValue da estrutura ADS_PROV_SPECIFIC como zero e NULL , respectivamente. Depois de ler o conjunto de resultados retornado pela pesquisa até que IDirectorySearch::GetNextRow retorne S_ADS_NOMORE_ROWS, chame IDirectorySearch::GetColumn para recuperar o atributo ADS_DIRSYNC_COOKIE que contém um cookie a ser usado na próxima pesquisa do DirSync. Para obter mais informações, consulte Sondagem de alterações usando o controle DirSync e LDAP_SERVER_DIRSYNC_OID.

Esse sinalizador não pode ser combinado com ADS_SEARCHPREF_PAGESIZE.

O chamador deve ter o privilégio SE_SYNC_AGENT_NAME .
ADS_SEARCHPREF_TOMBSTONE
Especifica se a pesquisa também deve retornar objetos excluídos que correspondam ao filtro de pesquisa. Quando os objetos são excluídos, o Active Directory os move para um contêiner "Objetos Excluídos". Por padrão, os objetos excluídos não são incluídos nos resultados da pesquisa. Na estrutura ADSVALUE , defina o membro dwType como ADSTYPE_BOOLEAN. Para incluir objetos excluídos, defina o membro booliano da estrutura ADSVALUE como TRUE.

Nem todos os atributos são preservados quando o objeto é excluído. Você pode recuperar os atributos objectGUID e RDN . O atributo distinguishedName é o DN do objeto no contêiner "Objetos Excluídos", não o DN anterior. O atributo isDeleted é TRUE para um objeto excluído. Para obter mais informações, consulte Recuperando objetos excluídos.
ADS_SEARCHPREF_VLV
Especifica que a pesquisa deve usar o controle VLV (exibição de lista virtual) LDAP. ADS_SEARCHPREF_VLV pode ser usado para acessar pesquisas VLV de tipo de cadeia de caracteres e de tipo de deslocamento, definindo os campos apropriados. Essas duas opções não podem ser usadas simultaneamente porque não é possível definir o controle VLV para solicitar um conjunto de resultados localizado em um deslocamento específico e segue um valor específico na sequência de classificação.

Para executar uma pesquisa de cadeia de caracteres, defina o campo lpszTarget em ADS_VLV para a cadeia de caracteres a ser pesquisada. Para executar uma pesquisa de tipo de deslocamento, defina o campo dwOffset em ADS_VLV. Se você usar uma pesquisa de deslocamento, deverá definir lpszTarget como NULL.

ADS_SEARCHPREF_SORT_ON deve ser definido como TRUE ao usar ADS_SEARCHPREF_VLV. A ordem de classificação dos resultados da pesquisa determina a ordem usada para a pesquisa VLV. Se estiver executando uma pesquisa de tipo de deslocamento, o deslocamento será usado como um índice na lista classificada. Se estiver executando uma pesquisa de tipo de cadeia de caracteres, o servidor tentará retornar a primeira entrada que é maior que ou igual à cadeia de caracteres, com base na ordem de classificação.

O cache dos resultados da pesquisa é desabilitado quando ADS_SEARCHPREF_VLV é especificado.

Se você atribuir ADS_SEARCHPREF_CACHE_RESULTS um TRUE, o valor ao usar ADS_SEARCHPREF_VLV, SetSearchPreference falhará e retornará o erro E_ADS_BAD_PARAMETER.
ADS_SEARCHPREF_ATTRIBUTE_QUERY
Especifica que uma pesquisa de consulta com escopo de atributo deve ser executada. A pesquisa é executada em relação aos objetos nomeados em um atributo especificado do objeto base. O membro vValue da estrutura ADS_SEARCHPREF_INFO contém um valor ADSTYPE_CASE_IGNORE_STRING que contém o lDAPDisplayName do atributo a ser pesquisado. Esse atributo deve ser um atributo ADS_DN_STRING . Somente um atributo pode ser especificado. O escopo de pesquisa é definido automaticamente como ADS_SCOPE_BASE ao usar essa preferência e tentar definir o escopo, caso contrário, falhará com o erro E_ADS_BAD_PARAMETER. Com exceção da preferência de ADS_SEARCHPREF_VLV , todas as outras preferências que usam controles LDAP, como ADS_SEARCHPREF_DIRSYNC, ADS_SEARCHPREF_TOMBSTONE e assim por diante, não são permitidas quando essa preferência é especificada.
ADS_SEARCHPREF_SECURITY_MASK
Especifica que a pesquisa deve retornar dados de acesso de segurança para os atributos especificados. O membro vValue da estrutura ADS_SEARCHPREF_INFO contém um valor ADS_INTEGER que é uma combinação de um ou mais dos valores a seguir.






















ValorDescrição
ADS_SECURITY_INFO_OWNERLê os dados do proprietário.
ADS_SECURITY_INFO_GROUPLê os dados do grupo.
ADS_SECURITY_INFO_DACLLê a DACL (lista de controle de acesso discricionário).
ADS_SECURITY_INFO_SACLLê a SACL (lista de controle de acesso) do sistema.

 

Se você ler um descritor de segurança sem especificar explicitamente uma máscara de segurança usando ADS_SEARCHPREF_SECURITY_MASK, ele usará como padrão o equivalente a ADS_SECURITY_INFO_OWNER
ADS_SECURITY_INFO_GROUP ADS_SECURITY_INFO_DACL.
ADS_SEARCHPREF_DIRSYNC_FLAG
Contém sinalizadores opcionais para uso com a preferência de pesquisa ADS_SEARCHPREF_DIRSYNC . O membro vValue da estrutura ADS_SEARCHPREF_INFO contém um valor ADSTYPE_INTEGER que é zero ou uma combinação de um ou mais dos valores a seguir. Para obter mais informações sobre o controle DirSync, consulte Sondagem de alterações usando o controle DirSync e LDAP_SERVER_DIRSYNC_OID.



























IdentificadorValorDescrição
LDAP_DIRSYNC_OBJECT_SECURITY1Se esse sinalizador não estiver presente, o chamador deverá ter as alterações de replicação corretas. Se esse sinalizador estiver presente,
O chamador não requer direitos, mas só tem permissão para ver objetos e atributos acessíveis ao chamador.
LDAP_DIRSYNC_ANCESTORS_FIRST_ORDER2048 (0x00000800)Retorne objetos pai antes dos objetos filho, quando os objetos pai apareceriam posteriormente no fluxo de replicação.
LDAP_DIRSYNC_PUBLIC_DATA_ONLY8192 (0x00002000)Não retorne dados privados nos resultados da pesquisa.
LDAP_DIRSYNC_INCREMENTAL_VALUES2147483648 (0x80000000)Se este sinalizador não estiver presente, todos os valores, até o limite especificado de servidor, em um atributo com vários valores serão retornados quando qualquer valor for alterado. Se esse sinalizador estiver presente, somente os valores alterados serão retornados.
ADS_SEARCHPREF_EXTENDED_DN
A pesquisa deve retornar nomes diferenciados no formato estendido do Active Directory. O membro vValue da estrutura ADS_SEARCHPREF_INFO contém um valor ADSTYPE_INTEGER que contém zero se as partes GUID e SID da cadeia de caracteres DN devem estar no formato hex ou um se as partes GUID e SID da cadeia de caracteres DN devem estar no formato padrão. Para obter mais informações sobre nomes diferenciados estendidos, consulte LDAP_SERVER_EXTENDED_DN_OID.

Comentários

Para configurar uma preferência de pesquisa, atribua valores apropriados aos campos de uma estrutura ADS_SEARCHPREF_INFO passada para o servidor. O membro vValue da estrutura ADS_SEARCHPREF_INFO é uma estrutura ADSVALUE . A lista a seguir lista os valores ADS_SEARCHPREF_ENUM , os valores correspondentes para o membro dwType da estrutura ADSVALUE e o membro ADSVALUE usado para o tipo especificado.

ADS_SEARCHPREF_ENUM valor membro dwType de ADSVALUE Membro ADSVALUE
ADS_SEARCHPREF_ASYNCHRONOUS ADSTYPE_BOOLEAN Booliano
ADS_SEARCHPREF_DEREF_ALIASES ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_SIZE_LIMIT ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_TIME_LIMIT ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_ATTRIBTYPES_ONLY ADSTYPE_BOOLEAN Booliano
ADS_SEARCHPREF_SEARCH_SCOPE ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_TIMEOUT ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_PAGESIZE ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_PAGED_TIME_LIMIT ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_CHASE_REFERRALS ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_SORT_ON ADSTYPE_PROV_SPECIFIC ProviderSpecific
ADS_SEARCHPREF_CACHE_RESULTS ADSTYPE_BOOLEAN Booliano
ADS_SEARCHPREF_DIRSYNC ADSTYPE_PROV_SPECIFIC ProviderSpecific
ADS_SEARCHPREF_TOMBSTONE ADSTYPE_BOOLEAN Booliano
ADS_SEARCHPREF_VLV ADSTYPE_PROV_SPECIFIC ProviderSpecific
ADS_SEARCHPREF_ATTRIBUTE_QUERY ADSTYPE_CASE_IGNORE_STRING CaseIgnoreString
ADS_SEARCHPREF_SECURITY_MASK ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_DIRSYNC_FLAG ADSTYPE_INTEGER Inteiro
ADS_SEARCHPREF_EXTENDED_DN ADSTYPE_INTEGER Inteiro
 

Para configurar várias preferências, use uma matriz de estruturas de ADS_SEARCHPREF_INFO . Os valores de membro dessa enumeração são atribuídos ao membro dwSearchPref da estrutura ADS_SEARCHPREF_INFO .

Todas as opções são compatíveis com o provedor de sistema LDAP.

Como o VBScript não pode ler dados de uma biblioteca de tipos, os aplicativos VBScript não reconhecem as constantes simbólicas conforme definido acima. Em vez disso, você deve usar as constantes numéricas para definir os sinalizadores apropriados em seus aplicativos VBScript. Para usar as constantes simbólicas, como uma boa prática de programação, declare explicitamente essas constantes, como feito aqui, em seus aplicativos VBScript.

Exemplos

O exemplo de código a seguir mostra como configurar preferências de pesquisa usando a enumeração ADS_SEARCHPREF_INFO .

HRESULT SetSearchPreferences2(
    DWORD dwScope,// -1 indicates default: subtree.
    DWORD dwOverallTimeOut,// <=0 indicates default: no time out set.
    DWORD dwOverallSizeLimit,// <=0 indicates default: no size limit set.
    DWORD dwOverallTimeLimit,// <=0 indicates default: no time limit set.
    BOOL bCacheResult,// TRUE indicates default.
    BOOL bIsAsynchronous,// FALSE indicates default.
    DWORD dwPageSize,// <=0 indicates default.
    DWORD dwPageTimeLimit,// <=0 indicates default.
    DWORD dwChaseReferral,// <=0 indicates default.
    LPOLESTR szSortKey,// NULL indicates do not sort.
    BOOL bIsDescending,
    BOOL bReturnAttributeNamesOnly,// FALSE indicates default.
    ADS_SEARCHPREF_INFO **ppSearchPref, // Return an array of search preferences.
    DWORD *pdwSearchPrefCount
)
{
   HRESULT hr = S_OK;
   DWORD dwCountPref = 0L;
 
   // Determine size of preferences array.
   DWORD dwTotal = 11L;
 
   if(dwScope==-1)
       dwTotal--;
   if(dwOverallTimeOut<=0)
       dwTotal--;
   if(dwOverallSizeLimit<=0)
       dwTotal--;
   if(dwOverallTimeLimit<=0)
       dwTotal--;
   if(bCacheResult)
       dwTotal--;
   if(!bIsAsynchronous)
       dwTotal--;
   if(dwPageSize<=0)
       dwTotal--;
   if(dwPageTimeLimit<=0)
       dwTotal--;
   if(dwChaseReferral<=0)
       dwTotal--;
   if(!bReturnAttributeNamesOnly)
       dwTotal--;
   if (!szSortKey)
       dwTotal--;
 
   ADS_SEARCHPREF_INFO *prefInfo = new ADS_SEARCHPREF_INFO[ dwTotal ];
   ADS_SORTKEY SortKey;

    if(!prefInfo)
    {
        return E_OUTOFMEMORY;
    }
 
    //////////////////
    // Search Scope
    //////////////////
    if(dwScope>=0)
    {
        prefInfo[dwCountPref].dwSearchPref =
                         ADS_SEARCHPREF_SEARCH_SCOPE;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;
        prefInfo[dwCountPref].vValue.Integer = dwScope;
        dwCountPref++;
    }
 
    //////////////////
    // Time Out
    //////////////////
    if(dwOverallTimeOut>0)
    {
       prefInfo[dwCountPref].dwSearchPref = ADS_SEARCHPREF_TIMEOUT;
       prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;
       prefInfo[dwCountPref].vValue.Integer = dwOverallTimeOut;
       dwCountPref++;
    }
 
    ///////////////
    // Size Limit
    ///////////////
    if(dwOverallSizeLimit>0)
    {
       prefInfo[dwCountPref].dwSearchPref = ADS_SEARCHPREF_SIZE_LIMIT;
       prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;
       prefInfo[dwCountPref].vValue.Integer = dwOverallSizeLimit;
       dwCountPref++;
    }
 
    ///////////////
    // Time Limit
    ///////////////
    if(dwOverallTimeLimit>0) 
    {
       prefInfo[dwCountPref].dwSearchPref = ADS_SEARCHPREF_TIME_LIMIT;
       prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;
       prefInfo[dwCountPref].vValue.Integer = dwOverallTimeLimit;
       dwCountPref++;
    }
 
    /////////////////
    // Cache Result
    /////////////////
 
    if (!bCacheResult)
    {
        prefInfo[dwCountPref].dwSearchPref =
                              ADS_SEARCHPREF_CACHE_RESULTS;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_BOOLEAN;
        prefInfo[dwCountPref].vValue.Boolean = bCacheResult;
        dwCountPref++;
    }
 
    //////////////
    // Page Size
    //////////////
    if(dwPageSize>0)
    {
        prefInfo[dwCountPref].dwSearchPref = ADS_SEARCHPREF_PAGESIZE;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;;
        prefInfo[dwCountPref].vValue.Integer = dwPageSize;
        dwCountPref++;
    }
 
    //////////////////
    // Page Time Limit
    //////////////////
    if(dwPageTimeLimit>0)
    {
        prefInfo[dwCountPref].dwSearchPref = 
                                      ADS_SEARCHPREF_PAGED_TIME_LIMIT;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;;
        prefInfo[dwCountPref].vValue.Integer = dwPageTimeLimit;
        dwCountPref++;
    }
 
    ///////////////////
    // Chase Referrals
    ///////////////////
    if(dwChaseReferral>0)
    {
        prefInfo[dwCountPref].dwSearchPref =
                                      ADS_SEARCHPREF_CHASE_REFERRALS;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_INTEGER;
        prefInfo[dwCountPref].vValue.Integer = dwChaseReferral;
        dwCountPref++;
    }
 
    /////////////
    // Sort
    /////////////
    if (szSortKey)
    {
        prefInfo[dwCountPref].dwSearchPref = ADS_SEARCHPREF_SORT_ON;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_PROV_SPECIFIC;
        SortKey.pszAttrType = (LPWSTR)LocalAlloc(
                        LPTR,
                        wcslen(szSortKey)*sizeof(WCHAR) +sizeof(WCHAR)
                        );
        wcscpy_s(SortKey.pszAttrType,szSortKey);
        SortKey.pszReserved = NULL;
        SortKey.fReverseorder = 0;
        prefInfo[dwCountPref].vValue.ProviderSpecific.dwLength = 
                                                 sizeof(ADS_SORTKEY);
        prefInfo[dwCountPref].vValue.ProviderSpecific.lpValue = 
                                                 (LPBYTE) &SortKey;
        dwCountPref++;
    }
    
    /////////////////
    // Asynchronous
    /////////////////
    if(bIsAsynchronous)
    {
        prefInfo[dwCountPref].dwSearchPref =
                                     ADS_SEARCHPREF_ASYNCHRONOUS;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_BOOLEAN;
        prefInfo[dwCountPref].vValue.Integer = bIsAsynchronous;
        dwCountPref++;
    }
 
    ////////////////////////
    // Attribute Type Only
    ////////////////////////
    if(bReturnAttributeNamesOnly)
    {
        prefInfo[dwCountPref].dwSearchPref =
                                  ADS_SEARCHPREF_ATTRIBTYPES_ONLY;
        prefInfo[dwCountPref].vValue.dwType = ADSTYPE_BOOLEAN;
        prefInfo[dwCountPref].vValue.Integer = 
                                  bReturnAttributeNamesOnly;
        dwCountPref++;
    }
 
    if (SUCCEEDED(hr))
    {
        *pdwSearchPrefCount = dwCountPref;
        *ppSearchPref  = prefInfo;
    }
    else
    {
        *pdwSearchPrefCount = 0L;
        *ppSearchPref  = NULL;
    }
 
 
    return hr;
}

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Cabeçalho iads.h

Confira também

Enumerações ADSI

ADSVALUE

ADS_CHASE_REFERRALS_ENUM

ADS_DEREFENUM

ADS_PROV_SPECIFIC

ADS_SCOPEENUM

ADS_SEARCHPREF_INFO

ADS_SORTKEY

ADS_VLV

IDirectorySearch::GetColumn

IDirectorySearch::GetNextRow

IDirectorySearch::SetSearchPreference

Sondagem de alterações usando o controle DirSync

Recuperando objetos excluídos