Enumeração FILETYPEATTRIBUTEFLAGS (shlwapi.h)
Indica constantes FILETYPEATTRIBUTEFLAGS que são usadas no valor EditFlags de uma chave do Registro PROGID de associação de arquivo.
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 Nenhuma opção FILETYPEATTRIBUTEFLAGS definida. |
FTA_Exclude Valor: 0x00000001 Exclui o tipo de arquivo. |
FTA_Show Valor: 0x00000002 Mostra tipos de arquivo, como pastas, que não estão associados a uma extensão de nome de arquivo. |
FTA_HasExtension Valor: 0x00000004 Indica que o tipo de arquivo tem uma extensão de nome de arquivo. |
FTA_NoEdit Valor: 0x00000008 Proíbe a edição das entradas do Registro associadas a esse tipo de arquivo, a adição de novas entradas e a exclusão ou modificação de entradas existentes. |
FTA_NoRemove Valor: 0x00000010 Proíbe a exclusão das entradas do Registro associadas a esse tipo de arquivo. |
FTA_NoNewVerb Valor: 0x00000020 Proíbe a adição de novos verbos ao tipo de arquivo. |
FTA_NoEditVerb Valor: 0x00000040 Proíbe a modificação ou exclusão de verbos canônicos , como abrir e imprimir. |
FTA_NoRemoveVerb Valor: 0x00000080 Proíbe a exclusão de verbos canônicos, como abrir e imprimir. |
FTA_NoEditDesc Valor: 0x00000100 Proíbe a modificação ou exclusão da descrição do tipo de arquivo. |
FTA_NoEditIcon Valor: 0x00000200 Proíbe a modificação ou exclusão do ícone atribuído ao tipo de arquivo. |
FTA_NoEditDflt Valor: 0x00000400 Proíbe a modificação do verbo padrão. |
FTA_NoEditVerbCmd Valor: 0x00000800 Proíbe a modificação dos comandos associados aos verbos . |
FTA_NoEditVerbExe Valor: 0x00001000 Proíbe a modificação ou exclusão de verbos. |
FTA_NoDDE Valor: 0x00002000 Proíbe a modificação ou exclusão das entradas relacionadas ao DDE. |
FTA_NoEditMIME Valor: 0x00008000 Proíbe a modificação ou exclusão do tipo de conteúdo e das entradas de extensão padrão. |
FTA_OpenIsSafe Valor: 0x00010000 Indica que o verbo aberto do tipo de arquivo pode ser invocado com segurança para arquivos baixados. Esse sinalizador se aplica somente a tipos de arquivo seguros, conforme identificado por AssocIsDangerous. Para melhorar a experiência do usuário e reduzir os prompts desnecessários do usuário ao baixar e ativar itens, os proprietários de tipo de arquivo devem especificar esse sinalizador e os aplicativos que baixam e ativam arquivos devem respeitar esse sinalizador. |
FTA_AlwaysUnsafe Valor: 0x00020000 Impede que a caixa Nunca me pergunte marcar seja habilitada. O uso desse sinalizador significa que FTA_OpenIsSafe não é respeitado e AssocIsDangerous sempre retorna TRUE. Se o tipo de arquivo puder executar código, você sempre deverá usar esse sinalizador ou garantir que os manipuladores de tipo de arquivo reduzam os riscos, por exemplo, produzindo prompts de aviso antes de executar o código. O usuário pode substituir esse atributo por meio da caixa de diálogo Tipo de Arquivo . |
FTA_NoRecentDocs Valor: 0x00100000 Proíbe a adição de membros desse tipo de arquivo à pasta Documentos Recentes . Além disso, no Windows 7 e posterior, proíbe a adição de membros desse tipo de arquivo à categoria automática Recentes ou Frequentes da Lista de Atalhos de um aplicativo. Esse sinalizador não impede que membros desse tipo de arquivo sejam adicionados a uma Lista de Atalhos personalizada. Ele também não impõe nenhuma restrição ao tipo de arquivo que está sendo adicionado ao Jump Listas automático de outros aplicativos no caso de outros aplicativos usarem esse tipo de arquivo. |
FTA_SafeForElevation Valor: 0x00200000 Introduzido no Windows 8. Marca o arquivo ou esquema de URI como seguro para ser usado de um aplicativo de baixa confiança. Arquivos originados da Internet ou de um contêiner de aplicativo são exemplos em que o arquivo é considerado não confiável. Arquivos não confiáveis que contêm código são especialmente perigosos e as mitigações de segurança apropriadas devem ser aplicadas se o arquivo deve ser aberto por um aplicativo de confiança total. Os proprietários de tipo de arquivo para formatos de arquivo que têm a capacidade de executar código devem especificar esse sinalizador somente se o programa atenuar ameaças de elevação de privilégio associadas à execução de código em um nível de integridade mais alto. As mitigações incluem solicitar ao usuário antes que o código seja executado ou executar o código com privilégios reduzidos. Ao especificar esse sinalizador para um tipo de arquivo inteiro, um aplicativo em execução em um contêiner de aplicativo pode passar arquivos desse tipo para um programa em execução com confiança total. Alguns tipos de arquivo são reconhecidos como inerentemente perigosos devido à sua capacidade de executar código e serão bloqueados se você não especificar esse valor. |
FTA_AlwaysUseDirectInvoke Valor: 0x00400000 Introduzido no Windows 8. Garante que os verbos do tipo de arquivo sejam invocados com um URI em vez de uma versão baixada do arquivo. Use esse sinalizador somente se você tiver registrado o verbo do tipo de arquivo para dar suporte ao DirectInvoke por meio do registro SupportedProtocols ou UseUrl. |
Comentários
Esses sinalizadores representam possíveis atributos armazenados no valor EditFlags de um registro ProgID. Os dados editFlags são um único REG_DWORD.
O exemplo a seguir mostra os atributos FTA_NoRemove (0x00000010) e FTA_NoNewVerb (0x00000020) atribuídos ao tipo de arquivo .myp.
HKEY_CLASSES_ROOT .myp (Default) = MyProgram.1 MyProgram.1 (Default) = MyProgram Application EditFlags = 0x00000030\
APIs como IQueryAssociations::GetData podem recuperar esses dados editFlags. Compare os equivalentes numéricos desses sinalizadores FILETYPEATTRIBUTEFLAGS com esse valor recuperado para determinar quais sinalizadores estão definidos.
O exemplo a seguir demonstra o uso de IQueryAssociations::GetData para determinar se esses valores estão definidos.
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 definir um atributo EditFlags, você pode usar as funções RegSetValueEx ou SHSetValue . Primeiro, use IQueryAssociations::GetData para recuperar o conjunto atual de atributos, conforme mostrado no exemplo acima, adicione o FILETYPEATTRIBUTEFLAGS desejado a esse valor e, em seguida, escreva esse valor de volta no Registro usando uma das duas funções de conjunto.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional, Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho | shlwapi.h |