FILETYPEATTRIBUTEFLAGS-Aufzählung (shlwapi.h)

Gibt FILETYPEATTRIBUTEFLAGS-Konstanten an, die im EditFlags-Wert einer Dateizuordnung PROGID-Registrierungsschlüssel verwendet werden.

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;

Konstanten

 
FTA_None
Wert: 0x00000000
Keine DATEITYPEATTRIBUTEFLAGS-Optionen festgelegt.
FTA_Exclude
Wert: 0x00000001
Schließt den Dateityp aus.
FTA_Show
Wert: 0x00000002
Zeigt Dateitypen wie Ordner an, die nicht einer Dateinamenerweiterung zugeordnet sind.
FTA_HasExtension
Wert: 0x00000004
Gibt an, dass der Dateityp über eine Dateinamenerweiterung verfügt.
FTA_NoEdit
Wert: 0x00000008
Verbietet die Bearbeitung der Registrierungseinträge, die diesem Dateityp zugeordnet sind, die Ergänzung neuer Einträge und das Löschen oder Ändern vorhandener Einträge.
FTA_NoRemove
Wert: 0x00000010
Verbietet das Löschen der Registrierungseinträge, die diesem Dateityp zugeordnet sind.
FTA_NoNewVerb
Wert: 0x00000020
Verbietet die Ergänzung neuer Verben zum Dateityp.
FTA_NoEditVerb
Wert: 0x00000040
Verbietet die Änderung oder Löschung von kanonischen Verben , z. B. geöffnet und gedruckt.
FTA_NoRemoveVerb
Wert: 0x00000080
Verbietet das Löschen von kanonischen Verben, z. B. geöffnet und gedruckt.
FTA_NoEditDesc
Wert: 0x00000100
Verbietet die Änderung oder Löschung der Beschreibung des Dateityps.
FTA_NoEditIcon
Wert: 0x00000200
Verbietet die Änderung oder Löschung des Symbols , das dem Dateityp zugewiesen ist.
FTA_NoEditDflt
Wert: 0x00000400
Verbietet die Änderung des Standardverbnes.
FTA_NoEditVerbCmd
Wert: 0x00000800
Verbietet die Änderung der Befehle, die mit Verben verknüpft sind.
FTA_NoEditVerbExe
Wert: 0x00001000
Verbietet die Änderung oder Löschung von Verben.
FTA_NoDDE
Wert: 0x00002000
Verbietet die Änderung oder Löschung der Einträge im Zusammenhang mit DDE.
FTA_NoEditMIME
Wert: 0x00008000
Verbietet die Änderung oder Löschung des Inhaltstyps und Standarderweiterungseinträge.
FTA_OpenIsSafe
Wert: 0x00010000
Gibt an, dass das geöffnete Verb des Dateityps für heruntergeladene Dateien sicher aufgerufen werden kann. Diese Kennzeichnung gilt nur für sichere Dateitypen, wie von AssocIsDangerous identifiziert. Um die Benutzerfreundlichkeit zu verbessern und unnötige Benutzeraufforderungen beim Herunterladen und Aktivieren von Elementen zu verringern, sollten Dateitypbesitzer dieses Flag und anwendungen angeben, die Dateien herunterladen und aktivieren, diese Kennzeichnung berücksichtigen.
FTA_AlwaysUnsafe
Wert: 0x00020000
Verhindert, dass das Kontrollkästchen "Nie fragen" aktiviert wird. Die Verwendung dieser Flagge bedeutet , dass FTA_OpenIsSafe nicht beachtet wird und AssocIsDangerous immer TRUE zurückgibt.
Wenn Ihr Dateityp Code ausführen kann, sollten Sie immer dieses Flag verwenden oder sicherstellen, dass die Dateityphandler Risiken verringern, z. B. durch Erstellen von Warnungsaufforderungen vor dem Ausführen des Codes.

Der Benutzer kann dieses Attribut über das Dialogfeld "Dateityp " außer Kraft setzen.
FTA_NoRecentDocs
Wert: 0x00100000
Verbietet das Hinzufügen von Elementen dieses Dateityps zum Ordner "Zuletzt verwendete Dokumente ". Darüber hinaus verbietet windows 7 und höher die Ergänzung von Mitgliedern dieses Dateityps zur automatischen Zuletzt verwendeten oder häufigen Kategorie einer Anwendung sprungliste.

Dieses Flag beschränkt keine Elemente dieses Dateityps darauf, einer benutzerdefinierten Sprungliste hinzugefügt zu werden. Außerdem wird keine Einschränkung für den Dateityp hinzugefügt, der automatischen Sprunglisten anderer Anwendungen hinzugefügt wird, wenn andere Anwendungen diesen Dateityp verwenden.
FTA_SafeForElevation
Wert: 0x00200000
In Windows 8 eingeführt. Markiert das Datei- oder URI-Schema als sicher, dass er von einer vertrauenswürdigen Anwendung verwendet werden kann. Dateien, die aus dem Internet oder einem App-Container stammen, sind Beispiele, in denen die Datei als nicht vertrauenswürdig betrachtet wird. Nicht vertrauenswürdige Dateien, die Code enthalten, sind besonders gefährlich, und geeignete Sicherheitsminderungen müssen angewendet werden, wenn die Datei von einer vollständig vertrauenswürdigen Anwendung geöffnet werden soll. Dateitypbesitzer für Dateiformate, die die Möglichkeit zum Ausführen von Code haben, sollten diese Kennzeichnung nur angeben, wenn ihr Programm bedrohungen, die mit dem Ausführen von Code auf einer höheren Integritätsebene verknüpft sind. Entschärfungen umfassen die Eingabeaufforderung des Benutzers, bevor code ausgeführt oder der Code mit reduzierten Berechtigungen ausgeführt wird.

Wenn Sie dieses Kennzeichen für einen gesamten Dateityp angeben, kann eine App, die innerhalb eines App-Containers ausgeführt wird, Dateien dieses Typs an ein Programm übergeben, das vollständig vertrauenswürdig ist. Einige Dateitypen werden aufgrund ihrer Fähigkeit zum Ausführen von Code als inhärent gefährlich erkannt und werden blockiert, wenn Sie diesen Wert nicht angeben.
FTA_AlwaysUseDirectInvoke
Wert: 0x00400000
In Windows 8 eingeführt. Stellt sicher, dass die Verben für den Dateityp mit einem URI anstelle einer heruntergeladenen Version der Datei aufgerufen werden. Verwenden Sie dieses Flag nur, wenn Sie das Verb des Dateityps registriert haben, um DirectInvoke über die SupportedProtocols- oder UseUrl-Registrierung zu unterstützen.

Hinweise

Diese Flags stellen mögliche Attribute dar, die im EditFlags-Wert einer ProgID-Registrierung gespeichert sind. Die EditFlags-Daten sind eine einzelne REG_DWORD.

Das folgende Beispiel zeigt die FTA_NoRemove (0x00000010) und FTA_NoNewVerb (0x00000020) Attributen, die dem Dateityp .myp zugewiesen sind.

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
   MyProgram.1
      (Default) = MyProgram Application
      EditFlags = 0x00000030
\

APIs wie IQueryAssociations::GetData kann diese EditFlags-Daten abrufen. Vergleichen Sie die numerischen Äquivalente dieser FILETYPEATTRIBUTEFLAGS-Flags mit diesem abgerufenen Wert, um zu bestimmen, welche Flags festgelegt sind.

Im folgenden Beispiel wird die Verwendung von IQueryAssociations::GetData veranschaulicht, um festzustellen, ob diese Werte festgelegt sind.

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();
}

Um ein EditFlags-Attribut festzulegen, können Sie die Funktionen RegSetValueEx oder SHSetValue verwenden. Verwenden Sie zuerst IQueryAssociations::GetData , um den aktuellen Satz von Attributen abzurufen, wie im obigen Beispiel dargestellt, fügen Sie den gewünschten FILETYPEATTRIBUTEFLAGS zu diesem Wert hinzu, und schreiben Sie diesen Wert dann mithilfe einer der beiden Satzfunktionen zurück in die Registrierung.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Header shlwapi.h