Associar chaves de cadeia de caracteres de contexto

Um conjunto de chaves de cadeia de caracteres que são usadas com o método IBindCtx::RegisterObjectParam para especificar um contexto de associação.

Constante Descrição
STR_AVOID_DRIVE_RESTRICTION_POLICY
Introduzido no Windows XP SP2. Especifique esse contexto de associação para permitir que os clientes da fonte de dados substituam a política de letra de unidade oculta e habilitem o acesso aos objetos de exibição para fontes de dados nas unidades bloqueadas.
Usado com IShellFolder::BindToObject ou IShellItem::BindToHandler.
O sistema dá suporte a políticas controladas pelo administrador que ocultam letras de unidade especificadas para impedir que os usuários acessem essas unidades por meio do Windows Explorer. Quando essa política estiver ativa, o resultado é que os objetos de exibição e outros manipuladores criados com o método IShellFolder::CreateViewObject falharão quando chamados em unidades bloqueadas pela política.
STR_BIND_DELEGATE_CREATE_OBJECT
Introduzido no Windows Vista. Especifique esse contexto de associação para fazer com que o método IShellFolder::BindToObject use o objeto especificado pelo parâmetro pbc para criar o objeto de destino; nesse caso, o objeto especificado pelo parâmetro punk na chamada IBindCtx::RegisterObjectParam deve implementar a interface ICreateObject .
Usado com IShellFolder::BindToObject ou IShellItem::BindToHandler.
STR_BIND_FOLDER_ENUM_MODE
Introduzido no Windows 7. Passado para IShellFolder::P arseDisplayName com um valor FOLDER_ENUM_MODE para controlar o modo de enumeração do item analisado. O valor FOLDER_ENUM_MODE é passado no contexto de associação por meio de um objeto que implementa IObjectWithFolderEnumMode.
Itens com modos de enumeração diferentes comparam canonicamente (SHCIDS_CANONICALONLY) diferentes porque enumeram diferentes conjuntos de itens.
Se um item não der suporte ao modo de enumeração (porque ele não é uma pasta ou não fornece o modo de enumeração), ele é criado no modo de enumeração padrão.
STR_BIND_FOLDERS_READ_ONLY
Introduzido no Windows 7. Passado para IShellFolder::P arseDisplayName junto com STR_FILE_SYS_BIND_DATA. Isso força a análise simples ao mesmo tempo em que investiga arquivos Desktop.ini ao longo do caminho do qual obter uma cadeia de caracteres de nome localizada. Isso evita a investigação de pastas ao longo do caminho, o que, em um caso de uma pasta que representa um servidor ou um compartilhamento, pode levar muito tempo e recursos. Desktop.ini arquivos são armazenados em cache em alguns locais, portanto, ele será pelo menos tão eficiente quanto a investigação de atributos de pastas e, em seguida, a investigação para o Desktop.ini se essa pasta deve transformar ou tot ser somente leitura.
STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE
Introduzido no Windows XP SP2. Especifique esse contexto de associação para forçar um atalho de pasta a resolve o link que aponta para seu destino.
Um atalho de pasta é um item de pasta que aponta para outro item de pasta no mesmo namespace, usando um link (atalho) para manter a IDList do destino. O link é resolvido para acompanhar o destino caso ele seja movido ou renomeado. Por exemplo, a pasta Meus Locais de Rede do Windows XP e a pasta Computador Windows Vista podem conter atalhos de pasta criados com o assistente Adicionar Local de Rede . Para melhorar o desempenho, o método IShellFolder::BindToObject não resolve links para a pasta de rede por padrão.
Usado com IShellFolder::BindToObject ou IShellItem::BindToHandler.
STR_DONT_PARSE_RELATIVE
Introduzido no Windows XP. Especifique esse contexto de associação para impedir que uma chamada ao método IShellFolder::P arseDisplayName na pasta Desktop trate caminhos relativos como relativos à área de trabalho; nesse caso, a análise falha quando esse contexto de associação é especificado.
STR_DONT_RESOLVE_LINK
Introduzido no Windows Vista. Especifique esse contexto de associação para instruir um IShellItem a não resolve o destino de link obtido ao usar o GUID BHID_LinkTargetItem em IShellItem::BindToHandler.
STR_FILE_SYS_BIND_DATA
Introduzido no Windows XP. Especifique esse contexto de associação para fornecer metadados de arquivo para o método IShellFolder::P arseDisplayName , que é usado em vez de tentar recuperar os metadados reais do arquivo. O objeto associado deve implementar IFileSystemBindData e, opcionalmente, também pode implementar IFileSystemBindData2. Por padrão, o método IShellFolder::P arseDisplayName verifica se o arquivo existe e usa os metadados reais do arquivo para preencher a lista de IDs.
STR_FILE_SYS_BIND_DATA_WIN7_FORMAT
Introduzido em Windows 8.1. Especifique esse contexto de associação para indicar que os dados fornecidos no contexto de associação STR_FILE_SYS_BIND_DATA devem ser usados para criar uma lista ItemID no formato windows 7."
STR_GET_ASYNC_HANDLER
Introduzido no Windows 7. Especifique esse contexto de associação quando o manipulador estiver sendo recuperado no mesmo thread que a interface do usuário. Todas as atividades com uso intensivo de memória, como aquelas que envolvem o acesso ao disco ou à rede, devem ser evitadas.
STR_GPS_BESTEFFORT
Introduzido no Windows Vista. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_BESTEFFORT para obter mais informações.
STR_GPS_DELAYCREATION
Introduzido no Windows Vista. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_DELAYCREATION para obter mais informações.
STR_GPS_FASTPROPERTIESONLY
Introduzido no Windows Vista. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_FASTPROPERTIESONLY para obter mais informações.
STR_GPS_HANDLERPROPERTIESONLY
Introduzido no Windows Vista. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_HANDLERPROPERTIESONLY para obter mais informações.
STR_GPS_NO_OPLOCK
Introduzido no Windows 7. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_NO_OPLOCK para obter mais informações.
STR_GPS_OPENSLOWITEM
Introduzido no Windows Vista. Especifique esse contexto de associação ao solicitar um manipulador IPropertySetStorage ou IPropertyStore . Esse valor é usado com IShellFolder::BindToObject. Consulte o sinalizador GPS_OPENSLOWITEM para obter mais informações.
STR_IFILTER_FORCE_TEXT_FILTER_FALLBACK
Somente Windows Vista. Especifique esse contexto de associação para fazer com que uma chamada ao método IShellFolder::BindToObject solicite que a interface IFilter de um objeto do sistema de arquivos retorne um filtro de texto se nenhum outro filtro estiver disponível. Esse valor não é definido a partir do Windows 7.
STR_IFILTER_LOAD_DEFINED_FILTER
Somente Windows Vista. Especifique esse contexto de associação para fazer com que uma chamada ao método IShellFolder::BindToObject que solicite que a interface IFilter de um objeto do sistema de arquivos não retorne um filtro de fallback se nenhum filtro registrado puder ser encontrado.
STR_INTERNAL_NAVIGATE
Introduzido no Windows Vista. Especifique esse contexto de associação para habilitar o carregamento do histórico de um fluxo para uma navegação interna quando o método IPersistHistory::LoadHistory for chamado. Uma navegação interna é uma navegação dentro da mesma exibição.
STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE
Introduzido no Windows 7. Especifique esse contexto de associação com STR_PARSE_PREFER_FOLDER_BROWSING quando o cliente quiser que os manipuladores de pastas do Internet Shell gerem uma IDList para qualquer URL válida se uma pasta do tipo DAV não puder ser criada para essa URL. A URL não é verificada para existir; apenas sua sintaxe é verificada e que tem um manipulador de protocolo registrado.
STR_ITEM_CACHE_CONTEXT
Introduzido no Windows 7. Especifique esse contexto de associação para instruir implementações de IShellFolder::P arseDisplayName e IPersistFolder3::InitializeEx para armazenar em cache objetos auxiliares com uso intensivo de memória que podem existir em instâncias de itens do Shell em vez de recriar esses objetos sempre que um item shell é criado. O objeto associado é outro objeto de contexto de associação, inicialmente vazio. Isso deve resultar em um objeto de contexto de associação separado, que é acessado por meio de IBindCtx::GetObjectParam ou IBindCtx::Register.ObjectParam.
Um chamador deve aceitar esse comportamento fornecendo esse parâmetro de contexto de associação ao chamar SHCreateItemFromParsingName. Ao fazer isso, você otimiza o comportamento da associação a vários nomes de análise em sucessão. O tempo de vida do objeto de contexto de associação deve abranger várias instâncias de itens do Shell e seus contextos de associação individuais.
STR_NO_VALIDATE_FILENAME_CHARS
Introduzido no Windows Vista. Especifique esse contexto de associação para permitir que caracteres de nome de arquivo inválidos apareçam em nomes de arquivo. Por padrão, uma chamada para o método IShellFolder::P arseDisplayName rejeita caracteres que são ilegais em nomes de arquivo. Esse contexto de associação é significativo apenas em conjunto com o contexto de associação STR_FILE_SYS_BIND_DATA.
STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS
Introduzido no Windows Vista. Especifique esse contexto de associação para habilitar uma chamada para o método IShellFolder::P arseDisplayName na pasta Desktop para analisar URLs. Se esse contexto de associação for especificado, ele substituirá STR_PARSE_PREFER_WEB_BROWSING.
STR_PARSE_AND_CREATE_ITEM
Introduzido no Windows 7. Especifique esse contexto de associação para instruir a implementação de uma fonte de dados de IShellFolder::P arseDisplayName para otimizar o comportamento de SHCreateItemFromParsingName.
Normalmente, SHCreateItemFromParsingName executa duas operações de associação no nome a serem analisadas: uma a e outra para IShellFolder::P arseDisplayName e outra para criar o item shell. Quando há suporte para o contexto de associação STR_PARSE_AND_CREATE_ITEM , a segunda associação é evitada criando o item Shell durante a associação IShellFolder::P arseDisplayName e armazenando o item shell por meio de IParseAndCreateItem::SetItem. SHCreateItemFromParsingName usa o item do Shell armazenado em vez de criar um.
Esse parâmetro se aplica ao último elemento do nome analisado. Por exemplo, no nome "C:\Folder1\File.txt, os dados se aplicam a File.txt.
STR_PARSE_DONT_REQUIRE_VALIDATED_URLS
Somente Windows Vista. Especifique que, ao analisar uma URL, esse contexto de associação não deve exigir que a URL exista antes de gerar uma IDList para ela. Especifique esse contexto de associação junto com STR_PARSE_PREFER_FOLDER_BROWSING quando o cliente desejar que os manipuladores de pastas do Internet Shell gerem uma IDList para a URL se uma pasta DAV não puder ser criada para a URL fornecida.
STR_PARSE_PARTIAL_IDLIST
Introduzido no Windows Vista. Especifique esse contexto de associação para passar o item original que está sendo analisado novamente quando esse item é armazenado como um objeto IShellItem que também implementa a interface IParentAndItem . Antes do Windows 7, esse valor não era definido em um arquivo de cabeçalho. Ele pode ser definido pelo chamador ou passado como seu valor de cadeia de caracteres de L"ParseOriginalItem". A partir do Windows 7, o valor é definido em Shlobj.h. Observe que esse é um cabeçalho diferente das outras constantes STR.
STR_PARSE_PREFER_FOLDER_BROWSING
Introduzido no Windows XP. Especifique esse contexto de associação para habilitar uma chamada para o método IShellFolder::P arseDisplayName na pasta Desktop para analisar URLs como se fossem pastas. Use esse contexto de associação para associar a um servidor WebDAV.
STR_PARSE_PREFER_WEB_BROWSING
Introduzido no Windows Vista. Especifique esse contexto de associação para impedir uma chamada para o método IShellFolder::P arseDisplayName nas URLs de análise de formulário de pasta da área de trabalho. Esse contexto de associação pode ser substituído por STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS.
STR_PARSE_PROPERTYSTORE
Introduzido no Windows Vista. Especifique esse contexto de associação para substituir o repositório de propriedades padrão usado pelo método IShellFolder::P arseDisplayName e use o repositório de propriedades especificado como o parâmetro bind. Aplica-se a pastas delegada.
STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS
Introduzido no Windows XP SP2. Especifique esse contexto de associação para habilitar uma chamada para o método IShellFolder::P arseDisplayName na pasta Desktop para usar a notação de prefixo "shell:" para acessar arquivos.
STR_PARSE_SHOW_NET_DIAGNOSTICS_UI
Introduzido no Windows Vista. Especifique esse contexto de associação para fazer com que uma chamada ao método IShellFolder::P arseDisplayName exiba a caixa de diálogo diagnóstico de rede se a análise de um caminho de rede falhar.
STR_PARSE_SKIP_NET_CACHE
Introduzido no Windows Vista. Especifique esse contexto de associação para fazer com que uma chamada ao método IShellFolder::P arseDisplayName ignore a verificação do cache de compartilhamentos de rede e contate o servidor de rede diretamente. Informações sobre compartilhamentos de rede são armazenadas em cache para melhorar o desempenho e IShellFolder::P arseDisplayName verifica esse cache por padrão.
STR_PARSE_TRANSLATE_ALIASES
Introduzido no Windows XP. Especifique esse contexto de associação para passar propriedades analisadas para o método IShellFolder::P arseDisplayName para um namespace delegado. O namespace pode usar as propriedades passadas em vez de tentar analisar o próprio nome.
STR_PARSE_WITH_PROPERTIES
Somente Windows Vista. Um contexto de associação de análise usado para passar um conjunto de propriedades e o nome do item ao chamar IShellFolder::P arseDisplayName. O objeto no contexto de associação implementa IPropertyStore e é recuperado chamando IBindCtx::GetObjectParam.
DBFolder é uma fonte de dados do Shell que representa itens nos resultados da pesquisa e exibições baseadas em consulta. DBFolder recupera esses itens consultando o sistema de Pesquisa do Windows. Os itens nos resultados da pesquisa são identificados por meio de um esquema de protocolo, por exemplo, "file:" ou "mapi:". DBFolder fornece o comportamento desses itens delegando para fontes de dados do Shell que são criadas para esses protocolos. Consulte Desenvolvendo suplementos do manipulador de protocolo para obter mais informações.
Quando dBFolder delega sua operação de análise para as fontes de dados do Shell que dão suporte a protocolos de Pesquisa do Windows, esse contexto de associação fornece acesso a valores que foram retornados no resultado da consulta para esse item. Isso inclui o seguinte:

Esse contexto de associação também pode ser usado para analisar um item DBFolder se um cliente tiver um conjunto de propriedades que definem o item. Nesse caso, um nome vazio deve ser passado para IShellFolder::P arseDisplayName.
Antes do Windows 7, esse valor não era definido em um arquivo de cabeçalho. Ele pode ser definido pelo chamador ou passado como seu valor de cadeia de caracteres: L"ParseWithProperties". A partir do Windows 7, o valor é definido em Shlobj.h. Observe que esse é um cabeçalho diferente de onde as outras constantes STR são definidas.
STR_PROPERTYBAG_PARAM
Introduzido no Windows 8. Especifique esse contexto de associação para indicar que o parâmetro de contexto de associação é um recipiente de propriedades (IPropertyBag) usado para passar valores VARIANT no contexto de associação. Consulte a seção Comentários para obter mais detalhes.
STR_SKIP_BINDING_CLSID
Introduzido no Windows XP. Especifique esse contexto de associação para fazer com que as chamadas para os métodos IShellFolder::P arseDisplayName ou IShellFolder::BindToObject ignorem uma extensão de namespace do Shell específica ao analisar ou associar. O CLSID do namespace a ser ignorado é fornecido pelo método IPersist::GetClassID do parâmetro bind.
Nota: Introduzido no Windows 2000 SP3, esse valor foi definido em Shlobj.h até o Windows XP, quando foi movido para Shobjidl.h.
STR_TRACK_CLSID
Não usado.

Comentários

Contextos de associação são usados para passar parâmetros opcionais para funções que têm um parâmetro IBindCtx*. Esses parâmetros são expressos como objetos COM e podem implementar interfaces usadas para modelar os dados do parâmetro. Alguns contextos de associação representam um valor booliano, em que TRUE indica que um objeto que implementa apenas IUnknown e FALSE indica que nenhum objeto está presente.

IShellFolder::P arseDisplayName, IShellFolder::BindToObject e IShellItem::BindToHandler assumem um contexto de associação e você pode passá-los parâmetros por meio desse contexto de associação.

Alguns contextos de associação são específicos para determinadas implementações de fonte de dados ou tipos de manipulador.

Os parâmetros de contexto de associação são definidos para uso com uma função ou método específico.

Ao solicitar um repositório de propriedades por meio de IShellFolder, você pode especificar o equivalente a GPS_DEFAULT passando um parâmetro IBindCtx nulo. Você também pode especificar o equivalente a GPS_READWRITE passando um modo de STGM_READWRITE | STGM_EXCLUSIVE no contexto de associação.

O recipiente de propriedades especificado pelo objeto de contexto de associação STR_PROPERTYBAG_PARAM contém valores adicionais que você pode acessar com os métodos IPropertyBag::Read e IPropertyBag::Write .

Nome da propriedade Type Descrição
STR_ENUM_ITEMS_FLAGS VT_UI4 Introduzido no Windows 8. Especifica um valor SHCONTF a ser passado para IShellFolder::EnumObjects quando você chama IShellItem::BindToHandler com BHID_EnumItems.
STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL VT_BOOL Introduzido no Windows 7. O método IShellFolder::P arseDisplayName define essa propriedade para informar ao chamador que o IDList retornado foi associado ao ProgID especificado com STR_PARSE_WITH_EXPLICIT_PROGID ou ao aplicativo especificado com STR_PARSE_WITH_EXPLICIT_ASSOCAPP. Quando STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL está ausente, o progID ou aplicativo não foi associado à IDList.
STR_PARSE_WITH_EXPLICIT_ASSOCAPP VT_BSTR Introduzido no Windows 7. Especifique essa propriedade para fazer com que uma chamada para o método IShellFolder::P arseDisplayName retorne um IDList associado ao manipulador de associação de tipo de arquivo para o aplicativo.
STR_PARSE_WITH_EXPLICIT_PROGID VT_BSTR Introduzido no Windows 7. Especifique essa propriedade para fazer com que uma chamada para o método IShellFolder::P arseDisplayName retorne um IDList associado ao manipulador de associação de arquivo do ProgID fornecido.

 

Consulte o Exemplo de Análise com Parâmetros para obter um exemplo do uso de valores de contexto de associação.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 R2 [somente aplicativos da área de trabalho]
parâmetro
Shobjidl.h
IDL
Shobjidl.idl