Enlazar claves de cadena de contexto

Conjunto de claves de cadena que se usan con el método IBindCtx::RegisterObjectParam para especificar un contexto de enlace.

Constante Descripción
STR_AVOID_DRIVE_RESTRICTION_POLICY
Se introdujo en Windows XP SP2. Especifique este contexto de enlace para permitir que los clientes del origen de datos invaliden la directiva de letras de unidad oculta y habiliten el acceso a los objetos de vista de los orígenes de datos de las unidades bloqueadas.
Se usa con IShellFolder::BindToObject o IShellItem::BindToHandler.
El sistema admite directivas controladas por el administrador que ocultan letras de unidad especificadas para impedir que los usuarios accedan a esas unidades a través del Explorador de Windows. Cuando esta directiva está activa, el resultado es que los objetos de vista y otros controladores creados con el método IShellFolder::CreateViewObject producirán un error cuando se llame a en las unidades bloqueadas por la directiva.
STR_BIND_DELEGATE_CREATE_OBJECT
Introducido en Windows Vista. Especifique este contexto de enlace para que el método IShellFolder::BindToObject use el objeto especificado por el parámetro pbc para crear el objeto de destino; en este caso, el objeto especificado por el parámetro punk en la llamada IBindCtx::RegisterObjectParam debe implementar la interfaz ICreateObject .
Se usa con IShellFolder::BindToObject o IShellItem::BindToHandler.
STR_BIND_FOLDER_ENUM_MODE
Se introdujo en Windows 7. Se pasa a IShellFolder::P arseDisplayName con un valor de FOLDER_ENUM_MODE para controlar el modo de enumeración del elemento analizado. El valor de FOLDER_ENUM_MODE se pasa en el contexto de enlace a través de un objeto que implementa IObjectWithFolderEnumMode.
Los elementos con diferentes modos de enumeración se comparan de forma canónica (SHCIDS_CANONICALONLY) diferentes porque enumeran diferentes conjuntos de elementos.
Si un elemento no admite el modo de enumeración (porque no es una carpeta o no proporciona el modo de enumeración), se crea en el modo de enumeración predeterminado.
STR_BIND_FOLDERS_READ_ONLY
Se introdujo en Windows 7. Se pasa a IShellFolder::P arseDisplayName junto con STR_FILE_SYS_BIND_DATA. Esto fuerza el análisis simple mientras también sondea para Desktop.ini archivos a lo largo de la ruta de acceso desde la que obtener una cadena de nombre localizada. Esto evita el sondeo de carpetas a lo largo de la ruta de acceso, que, en un caso de una carpeta que representa un servidor o un recurso compartido, podría tardar mucho tiempo y recursos. Desktop.ini archivos se almacenan en caché en algunas ubicaciones, por lo que será al menos tan eficaz como sondeo para los atributos de carpetas y, a continuación, sondear para el Desktop.ini si esa carpeta debe convertir ou ent ser de solo lectura.
STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE
Se introdujo en Windows XP SP2. Especifique este contexto de enlace para forzar un acceso directo de carpeta para resolver el vínculo que apunta a su destino.
Un acceso directo de carpeta es un elemento de carpeta que apunta a otro elemento de carpeta en el mismo espacio de nombres, mediante un vínculo (acceso directo) para contener el idList del destino. El vínculo se resuelve para realizar un seguimiento del destino en caso de que se mueva o cambie el nombre. Por ejemplo, la carpeta Windows XP My Network Places y la carpeta Equipo de Windows Vista pueden contener accesos directos de carpetas creados con el Asistente para agregar ubicación de red . Para mejorar el rendimiento, el método IShellFolder::BindToObject no resuelve vínculos a la carpeta de red de forma predeterminada.
Se usa con IShellFolder::BindToObject o IShellItem::BindToHandler.
STR_DONT_PARSE_RELATIVE
Introducido en Windows XP. Especifique este contexto de enlace para evitar que una llamada al método IShellFolder::P arseDisplayName en la carpeta Escritorio trate las rutas de acceso relativas como relativas al escritorio; en tal caso, se produce un error en el análisis cuando se especifica este contexto de enlace.
STR_DONT_RESOLVE_LINK
Introducido en Windows Vista. Especifique este contexto de enlace para indicar a un IShellItem que no resuelva el destino de vínculo obtenido al usar el GUID de BHID_LinkTargetItem en IShellItem::BindToHandler.
STR_FILE_SYS_BIND_DATA
Introducido en Windows XP. Especifique este contexto de enlace para proporcionar metadatos de archivo al método IShellFolder::P arseDisplayName , que se usa en lugar de intentar recuperar los metadatos de archivo reales. El objeto asociado debe implementar IFileSystemBindData y, opcionalmente, también puede implementar IFileSystemBindData2. De forma predeterminada, el método IShellFolder::P arseDisplayName comprueba que el archivo existe y usa los metadatos reales del archivo para rellenar la lista de identificadores.
STR_FILE_SYS_BIND_DATA_WIN7_FORMAT
Introducido en Windows 8.1. Especifique este contexto de enlace para indicar que los datos proporcionados en el contexto de enlace de STR_FILE_SYS_BIND_DATA deben usarse para crear una lista ItemID en el formato de Windows 7".
STR_GET_ASYNC_HANDLER
Se introdujo en Windows 7. Especifique este contexto de enlace cuando se recupere el controlador en el mismo subproceso que la interfaz de usuario. Se deben evitar todas las actividades que consumen mucha memoria, como las que implican acceso a disco o red.
STR_GPS_BESTEFFORT
Introducido en Windows Vista. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_BESTEFFORT para obtener más información.
STR_GPS_DELAYCREATION
Introducido en Windows Vista. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_DELAYCREATION para obtener más información.
STR_GPS_FASTPROPERTIESONLY
Introducido en Windows Vista. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_FASTPROPERTIESONLY para obtener más información.
STR_GPS_HANDLERPROPERTIESONLY
Introducido en Windows Vista. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_HANDLERPROPERTIESONLY para obtener más información.
STR_GPS_NO_OPLOCK
Se introdujo en Windows 7. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_NO_OPLOCK para obtener más información.
STR_GPS_OPENSLOWITEM
Introducido en Windows Vista. Especifique este contexto de enlace al solicitar un controlador IPropertySetStorage o IPropertyStore . Este valor se usa con IShellFolder::BindToObject. Consulte la marca GPS_OPENSLOWITEM para obtener más información.
STR_IFILTER_FORCE_TEXT_FILTER_FALLBACK
Solo Windows Vista. Especifique este contexto de enlace para provocar una llamada al método IShellFolder::BindToObject que solicita a la interfaz IFilter de un objeto de sistema de archivos que devuelva un filtro de texto si no hay ningún otro filtro disponible. Este valor no se define como windows 7.
STR_IFILTER_LOAD_DEFINED_FILTER
Solo Windows Vista. Especifique este contexto de enlace para que una llamada al método IShellFolder::BindToObject que solicite a la interfaz IFilter de un objeto de sistema de archivos que no devuelva un filtro de reserva si no se encuentra ningún filtro registrado.
STR_INTERNAL_NAVIGATE
Introducido en Windows Vista. Especifique este contexto de enlace para habilitar la carga del historial desde una secuencia para una navegación interna cuando se llama al método IPersistHistory::LoadHistory . Una navegación interna es una navegación dentro de la misma vista.
STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE
Se introdujo en Windows 7. Especifique este contexto de enlace con STR_PARSE_PREFER_FOLDER_BROWSING cuando el cliente quiera que los controladores de carpetas de Internet Shell generen un IDList para cualquier dirección URL válida si no se puede crear una carpeta de tipo DAV para esa dirección URL. La dirección URL no está comprobada para existir; solo se comprueba su sintaxis y tiene un controlador de protocolo registrado.
STR_ITEM_CACHE_CONTEXT
Se introdujo en Windows 7. Especifique este contexto de enlace para indicar a las implementaciones de IShellFolder::P arseDisplayName e IPersistFolder3::InitializeEx para almacenar en caché objetos auxiliares con uso intensivo de memoria que pueden existir en instancias de elementos de Shell en lugar de volver a crear estos objetos cada vez que se crea un elemento de Shell. El objeto asociado es otro objeto de contexto de enlace, inicialmente vacío. Esto debería dar lugar a un objeto de contexto de enlace independiente, al que se tiene acceso a través de IBindCtx::GetObjectParam o IBindCtx::Register.ObjectParam.
Un llamador debe participar en este comportamiento proporcionando este parámetro de contexto de enlace al llamar a SHCreateItemFromParsingName. Al hacerlo, se optimiza el comportamiento del enlace a varios nombres de análisis en sucesión. La duración del objeto de contexto de enlace debe abarcar varias instancias de elementos de Shell y sus contextos de enlace individuales.
STR_NO_VALIDATE_FILENAME_CHARS
Introducido en Windows Vista. Especifique este contexto de enlace para permitir que los caracteres de nombre de archivo no válidos aparezcan en los nombres de archivo. De forma predeterminada, una llamada al método IShellFolder::P arseDisplayName rechaza los caracteres que no son válidos en los nombres de archivo. Este contexto de enlace solo es significativo junto con el contexto de enlace de STR_FILE_SYS_BIND_DATA.
STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS
Introducido en Windows Vista. Especifique este contexto de enlace para habilitar una llamada al método IShellFolder::P arseDisplayName en la carpeta Escritorio para analizar las direcciones URL. Si se especifica este contexto de enlace, invalida STR_PARSE_PREFER_WEB_BROWSING.
STR_PARSE_AND_CREATE_ITEM
Se introdujo en Windows 7. Especifique este contexto de enlace para indicar a la implementación de un origen de datos IShellFolder::P arseDisplayName para optimizar el comportamiento de SHCreateItemFromParsingName.
Normalmente, SHCreateItemFromParsingName realiza dos operaciones de enlace en el nombre que se van a analizar: una a y otra a IShellFolder::P arseDisplayName y otra para crear el elemento shell. Cuando se admite el contexto de enlace de STR_PARSE_AND_CREATE_ITEM , se evita el segundo enlace creando el elemento shell durante el enlace IShellFolder::P arseDisplayName y almacenando el elemento shell a través de IParseAndCreateItem::SetItem. SHCreateItemFromParsingName usa el elemento shell almacenado en lugar de crear uno.
Este parámetro se aplica al último elemento del nombre que se analiza. Por ejemplo, en el nombre "C:\Folder1\File.txt, los datos se aplican a File.txt.
STR_PARSE_DONT_REQUIRE_VALIDATED_URLS
Solo Windows Vista. Especifique que, al analizar una dirección URL, este contexto de enlace no debe requerir que exista la dirección URL antes de generar un IDList para ella. Especifique este contexto de enlace junto con STR_PARSE_PREFER_FOLDER_BROWSING cuando el cliente desee que los controladores de carpetas de Internet Shell generen un idList para la dirección URL si no se puede crear una carpeta DAV para la dirección URL especificada.
STR_PARSE_PARTIAL_IDLIST
Introducido en Windows Vista. Especifique este contexto de enlace para pasar el elemento original que se vuelve a analizar cuando ese elemento se almacena como un objeto IShellItem que también implementa la interfaz IParentAndItem . Antes de Windows 7, este valor no se definió en un archivo de encabezado. Podría definirse mediante el autor de la llamada o pasarse como su valor de cadena de L"ParseOriginalItem". A partir de Windows 7, el valor se define en Shlobj.h. Tenga en cuenta que se trata de un encabezado diferente al de las demás constantes STR.
STR_PARSE_PREFER_FOLDER_BROWSING
Introducido en Windows XP. Especifique este contexto de enlace para habilitar una llamada al método IShellFolder::P arseDisplayName en la carpeta Escritorio para analizar las direcciones URL como si fueran carpetas. Use este contexto de enlace para enlazar a un servidor WebDAV.
STR_PARSE_PREFER_WEB_BROWSING
Introducido en Windows Vista. Especifique este contexto de enlace para evitar una llamada al método IShellFolder::P arseDisplayName en las direcciones URL de análisis de formularios de carpeta de escritorio . Este contexto de enlace se puede invalidar STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS.
STR_PARSE_PROPERTYSTORE
Introducido en Windows Vista. Especifique este contexto de enlace para invalidar el almacén de propiedades predeterminado usado por el método IShellFolder::P arseDisplayName y use el almacén de propiedades especificado como parámetro bind en su lugar. Se aplica a las carpetas delegadas.
STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS
Se introdujo en Windows XP SP2. Especifique este contexto de enlace para habilitar una llamada al método IShellFolder::P arseDisplayName en la carpeta Desktop para usar la notación de prefijo "shell:" para acceder a los archivos.
STR_PARSE_SHOW_NET_DIAGNOSTICS_UI
Introducido en Windows Vista. Especifique este contexto de enlace para provocar una llamada al método IShellFolder::P arseDisplayName para mostrar el cuadro de diálogo de diagnóstico de red si se produce un error en el análisis de una ruta de acceso de red.
STR_PARSE_SKIP_NET_CACHE
Introducido en Windows Vista. Especifique este contexto de enlace para que una llamada al método IShellFolder::P arseDisplayName omita la comprobación de la caché de recursos compartidos de red y póngase en contacto directamente con el servidor de red. La información sobre los recursos compartidos de red se almacena en caché para mejorar el rendimiento y IShellFolder::P arseDisplayName comprueba esta caché de forma predeterminada.
STR_PARSE_TRANSLATE_ALIASES
Introducido en Windows XP. Especifique este contexto de enlace para pasar propiedades analizadas al método IShellFolder::P arseDisplayName para un espacio de nombres delegado. El espacio de nombres puede usar las propiedades pasadas en lugar de intentar analizar el propio nombre.
STR_PARSE_WITH_PROPERTIES
Solo Windows Vista. Contexto de enlace de análisis que se usa para pasar un conjunto de propiedades y el nombre del elemento al llamar a IShellFolder::P arseDisplayName. El objeto del contexto de enlace implementa IPropertyStore y se recupera llamando a IBindCtx::GetObjectParam.
DBFolder es un origen de datos de Shell que representa elementos en los resultados de búsqueda y las vistas basadas en consultas. DBFolder recupera estos elementos consultando el sistema de Búsqueda de Windows. Los elementos de los resultados de la búsqueda se identifican a través de un esquema de protocolo, por ejemplo, "file:" o "mapi:". DBFolder proporciona el comportamiento de estos elementos al delegar en orígenes de datos de Shell creados para estos protocolos. Consulte Desarrollo de complementos de controlador de protocolos para obtener más información.
Cuando DBFolder delega su operación de análisis en los orígenes de datos de Shell que admiten protocolos de Búsqueda de Windows, este contexto de enlace proporciona acceso a los valores devueltos en el resultado de la consulta para ese elemento. Entre estas estructuras se incluyen las siguientes:

Este contexto de enlace también se puede usar para analizar un elemento DBFolder si un cliente tiene un conjunto de propiedades que definen el elemento. En este caso, se debe pasar un nombre vacío a IShellFolder::P arseDisplayName.
Antes de Windows 7, este valor no se definió en un archivo de encabezado. Podría definirse mediante el autor de la llamada o pasarse como su valor de cadena: L"ParseWithProperties". A partir de Windows 7, el valor se define en Shlobj.h. Tenga en cuenta que se trata de un encabezado diferente al de donde se definen las otras constantes STR.
STR_PROPERTYBAG_PARAM
Se introdujo en Windows 8. Especifique este contexto de enlace para indicar que el parámetro de contexto de enlace es un contenedor de propiedades (IPropertyBag) que se usa para pasar valores VARIANT en el contexto de enlace. Consulte la sección Comentarios para obtener más detalles.
STR_SKIP_BINDING_CLSID
Introducido en Windows XP. Especifique este contexto de enlace para que las llamadas a los métodos IShellFolder::P arseDisplayName o IShellFolder::BindToObject omitan una extensión de espacio de nombres shell determinada al analizar o enlazar. El CLSID del espacio de nombres que se omitirá se proporciona mediante el método IPersist::GetClassID del parámetro bind.
Nota: Introducido en Windows 2000 SP3, este valor se definió en Shlobj.h hasta Windows XP, cuando se movió a Shobjidl.h.
STR_TRACK_CLSID
No se usa.

Comentarios

Los contextos de enlace se usan para pasar parámetros opcionales a funciones que tienen un parámetro IBindCtx*. Esos parámetros se expresan como objetos COM y pueden implementar interfaces que se usan para modelar los datos de parámetros. Algunos contextos de enlace representan un valor booleano, donde TRUE indica un objeto que implementa solo IUnknown y FALSE indica que no hay ningún objeto presente.

IShellFolder::P arseDisplayName, IShellFolder::BindToObject e IShellItem::BindToHandler toman un contexto de enlace y se pueden pasar parámetros a través de ese contexto de enlace.

Algunos contextos de enlace son específicos de determinadas implementaciones de origen de datos o tipos de controlador.

Los parámetros de contexto de enlace se definen para su uso con una función o método específicos.

Al solicitar un almacén de propiedades a través de IShellFolder, puede especificar el equivalente de GPS_DEFAULT pasando un parámetro IBindCtx nulo. También puede especificar el equivalente de GPS_READWRITE pasando un modo de STGM_READWRITE | STGM_EXCLUSIVE en el contexto de enlace.

El contenedor de propiedades especificado por el objeto de contexto de enlace de STR_PROPERTYBAG_PARAM contiene valores adicionales a los que se puede acceder con los métodos IPropertyBag::Read e IPropertyBag::Write .

Nombre de propiedad Tipo Descripción
STR_ENUM_ITEMS_FLAGS VT_UI4 Se introdujo en Windows 8. Especifica un valor SHCONTF que se va a pasar a IShellFolder::EnumObjects cuando se llama a IShellItem::BindToHandler con BHID_EnumItems.
STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL VT_BOOL Se introdujo en Windows 7. El método IShellFolder::P arseDisplayName establece esta propiedad para indicar al autor de la llamada que el IDList devuelto estaba enlazado al ProgID especificado con STR_PARSE_WITH_EXPLICIT_PROGID o la aplicación especificada con STR_PARSE_WITH_EXPLICIT_ASSOCAPP. Cuando STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL no está presente, el ProgID o la aplicación no se enlazaban a IDList.
STR_PARSE_WITH_EXPLICIT_ASSOCAPP VT_BSTR Se introdujo en Windows 7. Especifique esta propiedad para que una llamada al método IShellFolder::P arseDisplayName devuelva un idList enlazado al controlador de asociación de tipo de archivo para la aplicación.
STR_PARSE_WITH_EXPLICIT_PROGID VT_BSTR Se introdujo en Windows 7. Especifique esta propiedad para que una llamada al método IShellFolder::P arseDisplayName devuelva un idList enlazado al controlador de asociación de archivos del ProgID proporcionado.

 

Consulte el Ejemplo de análisis con parámetros para obtener un ejemplo del uso de valores de contexto de enlace.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado
Shobjidl.h
IDL
Shobjidl.idl