Enumeración FILETYPEATTRIBUTEFLAGS (shlwapi.h)
Indica constantes FILETYPEATTRIBUTEFLAGS que se usan en el valor EditFlags de una clave del Registro PROGID de asociación de archivos.
Syntax
typedef enum {
FTA_None = 0x00000000,
FTA_Exclude = 0x00000001,
FTA_Show = 0x00000002,
FTA_HasExtension = 0x00000004,
FTA_NoEdit = 0x00000008,
FTA_NoRemove = 0x00000010,
FTA_NoNewVerb = 0x00000020,
FTA_NoEditVerb = 0x00000040,
FTA_NoRemoveVerb = 0x00000080,
FTA_NoEditDesc = 0x00000100,
FTA_NoEditIcon = 0x00000200,
FTA_NoEditDflt = 0x00000400,
FTA_NoEditVerbCmd = 0x00000800,
FTA_NoEditVerbExe = 0x00001000,
FTA_NoDDE = 0x00002000,
FTA_NoEditMIME = 0x00008000,
FTA_OpenIsSafe = 0x00010000,
FTA_AlwaysUnsafe = 0x00020000,
FTA_NoRecentDocs = 0x00100000,
FTA_SafeForElevation = 0x00200000,
FTA_AlwaysUseDirectInvoke = 0x00400000
} FILETYPEATTRIBUTEFLAGS;
Constantes
FTA_None Valor: 0x00000000 No se han establecido opciones FILETYPEATTRIBUTEFLAGS . |
FTA_Exclude Valor: 0x00000001 Excluye el tipo de archivo. |
FTA_Show Valor: 0x00000002 Muestra tipos de archivo, como carpetas, que no están asociadas a una extensión de nombre de archivo. |
FTA_HasExtension Valor: 0x00000004 Indica que el tipo de archivo tiene una extensión de nombre de archivo. |
FTA_NoEdit Valor: 0x00000008 Prohíbe la edición de las entradas del Registro asociadas a este tipo de archivo, la adición de nuevas entradas y la eliminación o modificación de las entradas existentes. |
FTA_NoRemove Valor: 0x00000010 Prohíbe la eliminación de las entradas del Registro asociadas a este tipo de archivo. |
FTA_NoNewVerb Valor: 0x00000020 Prohíbe la adición de nuevos verbos al tipo de archivo. |
FTA_NoEditVerb Valor: 0x00000040 Prohíbe la modificación o eliminación de verbos canónicos , como abrir e imprimir. |
FTA_NoRemoveVerb Valor: 0x00000080 Prohíbe la eliminación de verbos canónicos como abrir e imprimir. |
FTA_NoEditDesc Valor: 0x00000100 Prohíbe la modificación o eliminación de la descripción del tipo de archivo. |
FTA_NoEditIcon Valor: 0x00000200 Prohíbe la modificación o eliminación del icono asignado al tipo de archivo. |
FTA_NoEditDflt Valor: 0x00000400 Prohíbe la modificación del verbo predeterminado. |
FTA_NoEditVerbCmd Valor: 0x00000800 Prohíbe la modificación de los comandos asociados a verbos. |
FTA_NoEditVerbExe Valor: 0x00001000 Prohíbe la modificación o eliminación de verbos. |
FTA_NoDDE Valor: 0x00002000 Prohíbe la modificación o eliminación de las entradas relacionadas con DDE. |
FTA_NoEditMIME Valor: 0x00008000 Prohíbe la modificación o eliminación del tipo de contenido y las entradas de extensión predeterminadas. |
FTA_OpenIsSafe Valor: 0x00010000 Indica que el verbo abierto del tipo de archivo se puede invocar de forma segura para los archivos descargados. Esta marca solo se aplica a tipos de archivo seguros, como se identifica en AssocIsDangerous. Para mejorar la experiencia del usuario y reducir las solicitudes de usuario innecesarias al descargar y activar elementos, los propietarios de tipos de archivo deben especificar esta marca y las aplicaciones que descargan y activan archivos deben respetar esta marca. |
FTA_AlwaysUnsafe Valor: 0x00020000 Impide que se habilite la casilla Nunca preguntarme . El uso de esta marca significa que FTA_OpenIsSafe no se respeta y AssocIsDangerous siempre devuelve TRUE. Si el tipo de archivo puede ejecutar código, siempre debe usar esta marca o asegurarse de que los controladores de tipos de archivo mitigan los riesgos, por ejemplo, mediante la generación de avisos de advertencia antes de ejecutar el código. El usuario puede invalidar este atributo a través del cuadro de diálogo Tipo de archivo . |
FTA_NoRecentDocs Valor: 0x00100000 Prohíbe la adición de miembros de este tipo de archivo a la carpeta Documentos recientes . Además, en Windows 7 y versiones posteriores, prohíbe la adición de miembros de este tipo de archivo a la categoría Automática reciente o frecuente de la lista de accesos directos de una aplicación. Esta marca no restringe la adición de miembros de este tipo de archivo a una lista de accesos directos personalizada. Tampoco se aplica ninguna restricción al tipo de archivo que se agrega al jump automático Listas de otras aplicaciones en caso de que otras aplicaciones usen este tipo de archivo. |
FTA_SafeForElevation Valor: 0x00200000 Introducido en Windows 8. Marca el esquema de archivo o URI como seguro para usarse desde una aplicación de confianza baja. Los archivos que se originan en Internet o en un contenedor de aplicaciones son ejemplos en los que el archivo se considera que no es de confianza. Los archivos que no son de confianza que contienen código son especialmente peligrosos y se deben aplicar mitigaciones de seguridad adecuadas si una aplicación de plena confianza va a abrir el archivo. Los propietarios de tipos de archivo para formatos de archivo que tienen la capacidad de ejecutar código solo deben especificar esta marca si su programa mitiga las amenazas de elevación de privilegios asociadas al código en ejecución en un nivel de integridad superior. Las mitigaciones incluyen preguntar al usuario antes de ejecutar el código o ejecutar el código con privilegios reducidos. Al especificar esta marca para un tipo de archivo completo, una aplicación que se ejecuta dentro de un contenedor de aplicaciones puede pasar archivos de este tipo a un programa que se ejecuta en plena confianza. Algunos tipos de archivo se reconocen como inherentemente peligrosos debido a su capacidad de ejecutar código y se bloquearán si no especifica este valor. |
FTA_AlwaysUseDirectInvoke Valor: 0x00400000 Introducido en Windows 8. Garantiza que los verbos del tipo de archivo se invocan con un URI en lugar de una versión descargada del archivo. Use esta marca solo si ha registrado el verbo del tipo de archivo para admitir DirectInvoke a través del registro SupportedProtocols o UseUrl. |
Comentarios
Estas marcas representan los posibles atributos almacenados en el valor EditFlags de un registro de ProgID. Los datos EditFlags son una sola REG_DWORD.
En el ejemplo siguiente se muestran los atributos FTA_NoRemove (0x00000010) y FTA_NoNewVerb (0x00000020) asignados al tipo de archivo .myp.
HKEY_CLASSES_ROOT .myp (Default) = MyProgram.1 MyProgram.1 (Default) = MyProgram Application EditFlags = 0x00000030\
Las API como IQueryAssociations::GetData pueden recuperar los datos editFlags. Compare los equivalentes numéricos de estas marcas FILETYPEATTRIBUTEFLAGS con respecto al valor recuperado para determinar qué marcas se establecen.
En el ejemplo siguiente se muestra el uso de IQueryAssociations::GetData para determinar si se establecen esos valores.
IQueryAssociations *passoc;
HRESULT hr = AssocCreate(CLSID_QueryAssociations, IID_PPV_ARGS(&passoc));
if (SUCCEEDED(hr))
{
hr = passoc->Init(NULL, pszType, NULL, NULL);
if (SUCCEEDED(hr))
{
DWORD dwEditFlags;
ULONG cb = sizeof(dwEditFlags);
hr = passoc->GetData(NULL, ASSOCDATA_EDITFLAGS, NULL, &dwEditFlags, &cb);
if (SUCCEEDED(hr))
{
if (dwEditFlags & 0x00000010) // FTA_NoRemove
{
// ...
}
if (dwEditFlags & 0x00000020) // FTA_NoNewVerb
{
// ...
}
}
}
passoc->Release();
}
Para establecer un atributo EditFlags, puede usar las funciones RegSetValueEx o SHSetValue . En primer lugar, use IQueryAssociations::GetData para recuperar el conjunto actual de atributos tal como se muestra en el ejemplo anterior, agregue el FILETYPEATTRIBUTEFLAGS deseado a ese valor y, a continuación, vuelva a escribir ese valor en el Registro mediante una de las dos funciones de conjunto.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP, Windows 2000 Professional, Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado | shlwapi.h |