GETPROPERTYSTOREFLAGS
列挙型フラグメンバー 15
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| GPS_DEFAULT | 0 | 0x0 | 呼び出し元プロセスにとっての意味: すべてのプロパティを含む読み取り専用のプロパティ ストアを返します。低速な項目 (オフライン ファイル) は開かれません。 他のフラグとの組み合わせ: 他のフラグによって上書きできます。 |
| GPS_HANDLERPROPERTIESONLY | 1 | 0x1 | 呼び出し元プロセスにとっての意味: プロパティ ハンドラーから直接取得したプロパティのみを含めます。この場合、ディスク、ネットワーク、またはデバイス上のファイルが開かれます。 ファイル フォルダーにとっての意味: ハンドラーから直接取得したプロパティのみを含めます。 他のフォルダーにとっての意味: ファイル フォルダーに委任する場合は、このフラグをファイル フォルダーに渡します。多重化 (MUX) は一切行いません。ファイル フォルダーに委任しない場合は、失敗コードを返すのではなく、このフラグを無視します。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_FASTPROPERTIESONLY、GPS_BESTEFFORT とは組み合わせられません。 |
| GPS_READWRITE | 2 | 0x2 | 呼び出し元プロセスにとっての意味: 項目にプロパティを書き込めます。注: このストアには、読み取り専用ストアより少ないプロパティしか含まれない場合があります。 ファイル フォルダーにとっての意味: 読み書き (ReadWrite) です。 他のフォルダーにとっての意味: 読み書き (ReadWrite) です。注: 既定の MUX は ReadWrite をサポートしないため、既定の MUX を使用する場合は、多重化されていない単一のストアを返します。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_FASTPROPERTIESONLY、GPS_BESTEFFORT、GPS_DELAYCREATION とは組み合わせられません。GPS_HANDLERPROPERTIESONLY を暗黙的に含みます。 |
| GPS_TEMPORARY | 4 | 0x4 | 呼び出し元プロセスにとっての意味: 初期プロパティを持たない書き込み可能なストアを提供します。このストアは Shell 項目インスタンスの存続期間の間だけ存在します。基本的には、項目インスタンスに付加されたプロパティ バッグです。 ファイル フォルダーにとっての意味: 適用されません。Shell 項目によって処理されます。 他のフォルダーにとっての意味: 適用されません。Shell 項目によって処理されます。 他のフラグとの組み合わせ: 他のどのフラグとも組み合わせられません。GPS_READWRITE を暗黙的に含みます。 |
| GPS_FASTPROPERTIESONLY | 8 | 0x8 | 呼び出し元プロセスにとっての意味: ディスクやネットワークからの読み取りを伴わないストアを提供します。注: このフラグを指定しない場合のストアと比べて、一部の値が異なったり欠落したりすることがあります。 ファイル フォルダーにとっての意味: "innate" ストアと "fallback" ストアのみを含めます。ハンドラーは読み込みません。 他のフォルダーにとっての意味: メモリ内で利用可能なプロパティ、または非常に高速に計算できるプロパティのみを含めます (ディスク、ネットワーク、周辺 IO デバイスからのプロパティは含めません)。通常、これは IDLIST からのデータ ソースのみです。他のフォルダーに委任する場合は、このフラグをそれらに渡します。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_READWRITE、GPS_HANDLERPROPERTIESONLY、GPS_DELAYCREATION とは組み合わせられません。 |
| GPS_OPENSLOWITEM | 16 | 0x10 | 呼び出し元プロセスにとっての意味: 必要に応じて低速な項目 (オフライン ファイル) を開きます。 ファイル フォルダーにとっての意味: 必要に応じて、オフライン ストレージからファイルを取得します。注: このフラグがない場合、オフライン ファイルに対してハンドラーは作成されません。 他のフォルダーにとっての意味: 非常に低速なプロパティは返しません。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_FASTPROPERTIESONLY とは組み合わせられません。 |
| GPS_DELAYCREATION | 32 | 0x20 | 呼び出し元プロセスにとっての意味: ファイル アクセスなど、メモリを大量に消費する操作を、そのようなアクセスを必要とするプロパティが要求されるまで遅延させます。 ファイル フォルダーにとっての意味: 必要になるまでハンドラーを作成しません。たとえば、GetCount/GetAt または GetValue の呼び出しで、innate ストアが要求を満たせない場合です。注: GetValue はファイル アクセスの問題により失敗することがあります。 他のフォルダーにとっての意味: フォルダーが、ファイル フォルダーへの委任やネットワーク アクセスなど、メモリを大量に消費するプロパティを持つ場合、IDelayedPropertyStoreFactory をサポートし、プロパティを高速なストアと低速なストアに分割することで、パフォーマンスを最適化できます。その後、遅延 MUX を使用してそれらを再結合できます。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_READWRITE とは組み合わせられません。 |
| GPS_BESTEFFORT | 64 | 0x40 | 呼び出し元プロセスにとっての意味: 一部のプロパティが返されない場合でも、ストアの取得を成功させます。注: このフラグを指定しない場合のストアと比べて、一部の値が異なったり欠落したりすることがあります。 ファイル フォルダーにとっての意味: 作成時にハンドラーまたは innate ストアでエラーが発生した場合でも、成功してストアを返します。サブストアが失敗した場合にのみ失敗します。 他のフォルダーにとっての意味: 一部のプロパティが返されない場合でも、ストアの取得を成功させます。 他のフラグとの組み合わせ: GPS_TEMPORARY、GPS_READWRITE、GPS_HANDLERPROPERTIESONLY とは組み合わせられません。 |
| GPS_NO_OPLOCK | 128 | 0x80 | Windows 7 以降。呼び出し元がこのフラグを使用するのは、既にそのファイルに対する日和見ロック (oplock) を保持している場合に限るべきです。oplock がないと、バインド操作を続行できないためです。既定では、Shell はプロパティ ハンドラーにバインドする前に、ファイルに対する oplock を要求します。このフラグは、この既定の動作を無効にします。 Windows Server 2008 および Windows Vista: このフラグは使用できません。 |
| GPS_PREFERQUERYPROPERTIES | 256 | 0x100 | Windows 8 以降。WDS の結果に対してインデクサーからのプロパティのみを取得するには、このフラグを使用します。 |
| GPS_EXTRINSICPROPERTIES | 512 | 0x200 | ファイルのセカンダリ ストリームからのプロパティを含めます。 |
| GPS_EXTRINSICPROPERTIESONLY | 1024 | 0x400 | ファイルのセカンダリ ストリームからのプロパティのみを含めます。 |
| GPS_VOLATILEPROPERTIES | 2048 | 0x800 | |
| GPS_VOLATILEPROPERTIESONLY | 4096 | 0x1000 | |
| GPS_MASK_VALID | 8191 | 0x1FFF | 有効な GETPROPERTYSTOREFLAGS 値のマスクです。 |
公式ドキュメント
IShellItem2::GetPropertyStore や IPropertyStoreFactory::GetPropertyStore など、プロパティ ストアを作成するメソッドによって取得されるプロパティ ストア オブジェクトを変更するフラグを示します。
解説(Remarks)
Shell 項目がファイルの場合、プロパティ ストアには次の項目が含まれます。
- そのファイルに関する、ファイル システムからのプロパティ。
- ファイルのプロパティ ハンドラーによって提供される、ファイル自体からのプロパティ。ただし、ファイルがオフラインの場合を除きます (GPS_OPENSLOWITEM を参照)。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum GETPROPERTYSTOREFLAGS : int {
GPS_DEFAULT = 0,
GPS_HANDLERPROPERTIESONLY = 1,
GPS_READWRITE = 2,
GPS_TEMPORARY = 4,
GPS_FASTPROPERTIESONLY = 8,
GPS_OPENSLOWITEM = 16,
GPS_DELAYCREATION = 32,
GPS_BESTEFFORT = 64,
GPS_NO_OPLOCK = 128,
GPS_PREFERQUERYPROPERTIES = 256,
GPS_EXTRINSICPROPERTIES = 512,
GPS_EXTRINSICPROPERTIESONLY = 1024,
GPS_VOLATILEPROPERTIES = 2048,
GPS_VOLATILEPROPERTIESONLY = 4096,
GPS_MASK_VALID = 8191
} GETPROPERTYSTOREFLAGS;[Flags]
public enum GETPROPERTYSTOREFLAGS : int
{
GPS_DEFAULT = 0,
GPS_HANDLERPROPERTIESONLY = 1,
GPS_READWRITE = 2,
GPS_TEMPORARY = 4,
GPS_FASTPROPERTIESONLY = 8,
GPS_OPENSLOWITEM = 16,
GPS_DELAYCREATION = 32,
GPS_BESTEFFORT = 64,
GPS_NO_OPLOCK = 128,
GPS_PREFERQUERYPROPERTIES = 256,
GPS_EXTRINSICPROPERTIES = 512,
GPS_EXTRINSICPROPERTIESONLY = 1024,
GPS_VOLATILEPROPERTIES = 2048,
GPS_VOLATILEPROPERTIESONLY = 4096,
GPS_MASK_VALID = 8191,
}<Flags>
Public Enum GETPROPERTYSTOREFLAGS As Integer
GPS_DEFAULT = 0
GPS_HANDLERPROPERTIESONLY = 1
GPS_READWRITE = 2
GPS_TEMPORARY = 4
GPS_FASTPROPERTIESONLY = 8
GPS_OPENSLOWITEM = 16
GPS_DELAYCREATION = 32
GPS_BESTEFFORT = 64
GPS_NO_OPLOCK = 128
GPS_PREFERQUERYPROPERTIES = 256
GPS_EXTRINSICPROPERTIES = 512
GPS_EXTRINSICPROPERTIESONLY = 1024
GPS_VOLATILEPROPERTIES = 2048
GPS_VOLATILEPROPERTIESONLY = 4096
GPS_MASK_VALID = 8191
End Enumimport enum
class GETPROPERTYSTOREFLAGS(enum.IntFlag):
GPS_DEFAULT = 0
GPS_HANDLERPROPERTIESONLY = 1
GPS_READWRITE = 2
GPS_TEMPORARY = 4
GPS_FASTPROPERTIESONLY = 8
GPS_OPENSLOWITEM = 16
GPS_DELAYCREATION = 32
GPS_BESTEFFORT = 64
GPS_NO_OPLOCK = 128
GPS_PREFERQUERYPROPERTIES = 256
GPS_EXTRINSICPROPERTIES = 512
GPS_EXTRINSICPROPERTIESONLY = 1024
GPS_VOLATILEPROPERTIES = 2048
GPS_VOLATILEPROPERTIESONLY = 4096
GPS_MASK_VALID = 8191// GETPROPERTYSTOREFLAGS (flags)
pub const GPS_DEFAULT: i32 = 0;
pub const GPS_HANDLERPROPERTIESONLY: i32 = 1;
pub const GPS_READWRITE: i32 = 2;
pub const GPS_TEMPORARY: i32 = 4;
pub const GPS_FASTPROPERTIESONLY: i32 = 8;
pub const GPS_OPENSLOWITEM: i32 = 16;
pub const GPS_DELAYCREATION: i32 = 32;
pub const GPS_BESTEFFORT: i32 = 64;
pub const GPS_NO_OPLOCK: i32 = 128;
pub const GPS_PREFERQUERYPROPERTIES: i32 = 256;
pub const GPS_EXTRINSICPROPERTIES: i32 = 512;
pub const GPS_EXTRINSICPROPERTIESONLY: i32 = 1024;
pub const GPS_VOLATILEPROPERTIES: i32 = 2048;
pub const GPS_VOLATILEPROPERTIESONLY: i32 = 4096;
pub const GPS_MASK_VALID: i32 = 8191;// GETPROPERTYSTOREFLAGS
const (
GPS_DEFAULT int32 = 0
GPS_HANDLERPROPERTIESONLY int32 = 1
GPS_READWRITE int32 = 2
GPS_TEMPORARY int32 = 4
GPS_FASTPROPERTIESONLY int32 = 8
GPS_OPENSLOWITEM int32 = 16
GPS_DELAYCREATION int32 = 32
GPS_BESTEFFORT int32 = 64
GPS_NO_OPLOCK int32 = 128
GPS_PREFERQUERYPROPERTIES int32 = 256
GPS_EXTRINSICPROPERTIES int32 = 512
GPS_EXTRINSICPROPERTIESONLY int32 = 1024
GPS_VOLATILEPROPERTIES int32 = 2048
GPS_VOLATILEPROPERTIESONLY int32 = 4096
GPS_MASK_VALID int32 = 8191
)const
GPS_DEFAULT = 0;
GPS_HANDLERPROPERTIESONLY = 1;
GPS_READWRITE = 2;
GPS_TEMPORARY = 4;
GPS_FASTPROPERTIESONLY = 8;
GPS_OPENSLOWITEM = 16;
GPS_DELAYCREATION = 32;
GPS_BESTEFFORT = 64;
GPS_NO_OPLOCK = 128;
GPS_PREFERQUERYPROPERTIES = 256;
GPS_EXTRINSICPROPERTIES = 512;
GPS_EXTRINSICPROPERTIESONLY = 1024;
GPS_VOLATILEPROPERTIES = 2048;
GPS_VOLATILEPROPERTIESONLY = 4096;
GPS_MASK_VALID = 8191;// GETPROPERTYSTOREFLAGS
pub const GPS_DEFAULT: i32 = 0;
pub const GPS_HANDLERPROPERTIESONLY: i32 = 1;
pub const GPS_READWRITE: i32 = 2;
pub const GPS_TEMPORARY: i32 = 4;
pub const GPS_FASTPROPERTIESONLY: i32 = 8;
pub const GPS_OPENSLOWITEM: i32 = 16;
pub const GPS_DELAYCREATION: i32 = 32;
pub const GPS_BESTEFFORT: i32 = 64;
pub const GPS_NO_OPLOCK: i32 = 128;
pub const GPS_PREFERQUERYPROPERTIES: i32 = 256;
pub const GPS_EXTRINSICPROPERTIES: i32 = 512;
pub const GPS_EXTRINSICPROPERTIESONLY: i32 = 1024;
pub const GPS_VOLATILEPROPERTIES: i32 = 2048;
pub const GPS_VOLATILEPROPERTIESONLY: i32 = 4096;
pub const GPS_MASK_VALID: i32 = 8191;const
GPS_DEFAULT* = 0
GPS_HANDLERPROPERTIESONLY* = 1
GPS_READWRITE* = 2
GPS_TEMPORARY* = 4
GPS_FASTPROPERTIESONLY* = 8
GPS_OPENSLOWITEM* = 16
GPS_DELAYCREATION* = 32
GPS_BESTEFFORT* = 64
GPS_NO_OPLOCK* = 128
GPS_PREFERQUERYPROPERTIES* = 256
GPS_EXTRINSICPROPERTIES* = 512
GPS_EXTRINSICPROPERTIESONLY* = 1024
GPS_VOLATILEPROPERTIES* = 2048
GPS_VOLATILEPROPERTIESONLY* = 4096
GPS_MASK_VALID* = 8191enum GETPROPERTYSTOREFLAGS : int {
GPS_DEFAULT = 0,
GPS_HANDLERPROPERTIESONLY = 1,
GPS_READWRITE = 2,
GPS_TEMPORARY = 4,
GPS_FASTPROPERTIESONLY = 8,
GPS_OPENSLOWITEM = 16,
GPS_DELAYCREATION = 32,
GPS_BESTEFFORT = 64,
GPS_NO_OPLOCK = 128,
GPS_PREFERQUERYPROPERTIES = 256,
GPS_EXTRINSICPROPERTIES = 512,
GPS_EXTRINSICPROPERTIESONLY = 1024,
GPS_VOLATILEPROPERTIES = 2048,
GPS_VOLATILEPROPERTIESONLY = 4096,
GPS_MASK_VALID = 8191,
}#define global GPS_DEFAULT 0x0
#define global GPS_HANDLERPROPERTIESONLY 0x1
#define global GPS_READWRITE 0x2
#define global GPS_TEMPORARY 0x4
#define global GPS_FASTPROPERTIESONLY 0x8
#define global GPS_OPENSLOWITEM 0x10
#define global GPS_DELAYCREATION 0x20
#define global GPS_BESTEFFORT 0x40
#define global GPS_NO_OPLOCK 0x80
#define global GPS_PREFERQUERYPROPERTIES 0x100
#define global GPS_EXTRINSICPROPERTIES 0x200
#define global GPS_EXTRINSICPROPERTIESONLY 0x400
#define global GPS_VOLATILEPROPERTIES 0x800
#define global GPS_VOLATILEPROPERTIESONLY 0x1000
#define global GPS_MASK_VALID 0x1FFF
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。