Bagikan melalui


Enumerasi FILETYPEATTRIBUTEFLAGS (shlwapi.h)

Menunjukkan konstanta FILETYPEATTRIBUTEFLAGS yang digunakan dalam nilai EditFlags dari kunci registri PROGID asosiasi file.

Sintaks

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;

Konstanta

 
FTA_None
Nilai: 0x00000000
Tidak ada opsi FILETYPEATTRIBUTEFLAGS yang diatur.
FTA_Exclude
Nilai: 0x00000001
Mengecualikan jenis file.
FTA_Show
Nilai: 0x00000002
Memperlihatkan tipe file, seperti folder, yang tidak terkait dengan ekstensi nama file.
FTA_HasExtension
Nilai: 0x00000004
Menunjukkan bahwa jenis file memiliki ekstensi nama file.
FTA_NoEdit
Nilai: 0x00000008
Melarang pengeditan entri registri yang terkait dengan jenis file ini, penambahan entri baru, dan penghapusan atau modifikasi entri yang ada.
FTA_NoRemove
Nilai: 0x00000010
Melarang penghapusan entri registri yang terkait dengan tipe file ini.
FTA_NoNewVerb
Nilai: 0x00000020
Melarang penambahan kata kerja baru ke jenis file.
FTA_NoEditVerb
Nilai: 0x00000040
Melarang modifikasi atau penghapusan kata kerja kanonis seperti buka dan cetak.
FTA_NoRemoveVerb
Nilai: 0x00000080
Melarang penghapusan kata kerja kanonis seperti buka dan cetak.
FTA_NoEditDesc
Nilai: 0x00000100
Melarang modifikasi atau penghapusan deskripsi jenis file.
FTA_NoEditIcon
Nilai: 0x00000200
Melarang modifikasi atau penghapusan ikon yang ditetapkan ke jenis file.
FTA_NoEditDflt
Nilai: 0x00000400
Melarang modifikasi kata kerja default.
FTA_NoEditVerbCmd
Nilai: 0x00000800
Melarang modifikasi perintah yang terkait dengan kata kerja.
FTA_NoEditVerbExe
Nilai: 0x00001000
Melarang modifikasi atau penghapusan kata kerja.
FTA_NoDDE
Nilai: 0x00002000
Melarang modifikasi atau penghapusan entri yang terkait dengan DDE.
FTA_NoEditMIME
Nilai: 0x00008000
Melarang modifikasi atau penghapusan tipe isi dan entri ekstensi default.
FTA_OpenIsSafe
Nilai: 0x00010000
Menunjukkan bahwa kata kerja terbuka jenis file dapat dipanggil dengan aman untuk file yang diunduh. Bendera ini hanya berlaku untuk jenis file yang aman, seperti yang diidentifikasi oleh AssocIsDangerous. Untuk meningkatkan pengalaman pengguna dan mengurangi permintaan pengguna yang tidak perlu saat mengunduh dan mengaktifkan item, pemilik jenis file harus menentukan bendera dan aplikasi ini yang mengunduh dan mengaktifkan file harus menghormati bendera ini.
FTA_AlwaysUnsafe
Nilai: 0x00020000
Mencegah kotak centang Jangan pernah meminta saya diaktifkan. Penggunaan bendera ini berarti FTA_OpenIsSafe tidak dihormati dan AssocIsDangerous selalu mengembalikan TRUE.
Jika jenis file Anda dapat menjalankan kode, Anda harus selalu menggunakan bendera ini atau memastikan bahwa penangan jenis file mengurangi risiko, misalnya, dengan menghasilkan perintah peringatan sebelum menjalankan kode.

Pengguna dapat mengganti atribut ini melalui kotak dialog Jenis File .
FTA_NoRecentDocs
Nilai: 0x00100000
Melarang penambahan anggota tipe file ini ke folder Dokumen Terbaru . Selain itu, di Windows 7 dan yang lebih baru, melarang penambahan anggota jenis file ini ke kategori Terbaru atau Sering otomatis dari Jump List aplikasi.

Bendera ini tidak membatasi anggota tipe file ini untuk ditambahkan ke Jump List kustom. Ini juga tidak menempatkan batasan pada jenis file yang ditambahkan ke Jump Lists otomatis dari aplikasi lain jika aplikasi lain menggunakan jenis file ini.
FTA_SafeForElevation
Nilai: 0x00200000
Diperkenalkan dalam Windows 8. Menandai file atau skema URI sebagai aman untuk digunakan dari aplikasi kepercayaan rendah. File yang berasal dari Internet atau kontainer aplikasi adalah contoh di mana file dianggap tidak tepercaya. File tidak tepercaya yang berisi kode sangat berbahaya, dan mitigasi keamanan yang sesuai harus diterapkan jika file akan dibuka oleh aplikasi kepercayaan penuh. Pemilik jenis file untuk format file yang memiliki kemampuan untuk menjalankan kode harus menentukan bendera ini hanya jika program mereka mengurangi ancaman elevasi yang terkait dengan kode yang berjalan pada tingkat integritas yang lebih tinggi. Mitigasi termasuk meminta pengguna sebelum kode dijalankan atau menjalankan kode dengan hak istimewa yang dikurangi.

Dengan menentukan bendera ini untuk seluruh jenis file, aplikasi yang berjalan dalam kontainer aplikasi dapat meneruskan file jenis ini ke program yang berjalan dengan kepercayaan penuh. Beberapa jenis file diakui secara inheren berbahaya karena kemampuannya untuk mengeksekusi kode dan akan diblokir jika Anda tidak menentukan nilai ini.
FTA_AlwaysUseDirectInvoke
Nilai: 0x00400000
Diperkenalkan dalam Windows 8. Memastikan bahwa kata kerja untuk jenis file dipanggil dengan URI alih-alih versi file yang diunduh. Gunakan bendera ini hanya jika Anda telah mendaftarkan kata kerja jenis file untuk mendukung DirectInvoke melalui pendaftaran SupportedProtocols atau UseUrl.

Keterangan

Bendera ini mewakili kemungkinan atribut yang disimpan dalam nilai EditFlags pendaftaran ProgID. Data EditFlags adalah satu REG_DWORD.

Contoh berikut menunjukkan atribut FTA_NoRemove (0x00000010) dan FTA_NoNewVerb (0x00000020) yang ditetapkan ke jenis file .myp.

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

API seperti IQueryAssociations::GetData dapat mengambil data EditFlags tersebut. Bandingkan setara numerik dari bendera FILETYPEATTRIBUTEFLAGS ini dengan nilai yang diambil untuk menentukan bendera mana yang ditetapkan.

Contoh berikut menunjukkan penggunaan IQueryAssociations::GetData untuk menentukan apakah nilai tersebut ditetapkan.

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

Untuk mengatur atribut EditFlags, Anda dapat menggunakan fungsi RegSetValueEx atau SHSetValue . Pertama gunakan IQueryAssociations::GetData untuk mengambil set atribut saat ini seperti yang ditunjukkan pada contoh di atas, tambahkan FILETYPEATTRIBUTEFLAGS yang diinginkan ke nilai tersebut, lalu tulis nilai tersebut kembali ke registri menggunakan salah satu dari dua fungsi yang ditetapkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional, Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header shlwapi.h