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 |