Win32 API 日本語リファレンス
ホームSystem.Search › STRUCTURED_QUERY_RESOLVE_OPTION

STRUCTURED_QUERY_RESOLVE_OPTION

列挙型フラグ
基底型i4

メンバー 11

名前10進16進説明
SQRO_DEFAULT00x0Windows 7 以降。 既定のフラグです。
SQRO_DONT_RESOLVE_DATETIME10x1このフラグが設定されていない場合、pConditionTree 内の相対的な日付/時刻式は、pstReferenceTime が指す基準日時に対して解決された絶対的な日付/時刻の範囲に置き換えられます。たとえば、AQS クエリに相対的な日付/時刻式 "date:this month" が含まれ、基準日時が 9/19/2006 10:28:33 であった場合、解決後の条件ツリーには 9/1/2006 00:00:00 から 10/1/2006 00:00:00 まで (UTC タイム ゾーン) の日付/時刻範囲が含まれます。
SQRO_ALWAYS_ONE_INTERVAL20x2このフラグが設定されていない場合、相対的な日付/時刻式の解決結果は複数の期間の OR になることがあります。たとえば、AQS クエリに "date:Monday" が含まれ、基準日時が 9/19/2006 10:28:33 (火曜日) であった場合、どの月曜日が参照されているのかが明確でないため、解決後の条件ツリーには 9/11/2006、9/18/2006、9/25/2006 の各月曜日に対応する 3 つの 24 時間範囲の OR が含まれます。このフラグが設定されている場合、結果は常に単一の日付/時刻範囲になります (この例では、9/18/2006 00:00:00 から 9/19/2006 00:00:00 までの日付/時刻範囲になります)。
SQRO_DONT_SIMPLIFY_CONDITION_TREES40x4このフラグが設定されていない場合、結果の条件ツリーには可能なかぎりの単純化が適用されます。
SQRO_DONT_MAP_RELATIONS80x8このフラグが true でない場合、複数のプロパティにマップされる仮想プロパティを持つリーフ ノードは、実際のプロパティを含むリーフ ノードの OR に置き換えられます。たとえば、AQS クエリ "to:Bill" では、System.StructuredQuery.Virtual.To という名前のプロパティが実際には System.Message.ToAddressSystem.Message.ToName の 2 つのプロパティにマップされるリーフ ノードになることがあり、解決後の条件ツリーはこれら 2 つのプロパティで "Bill" を検索する OR を持つことになります。
SQRO_DONT_RESOLVE_RANGES160x10日付/時刻式や "20..40" のような式から生じる範囲は、まず punkVal メンバーが IInterval インターフェイスを実装する VT_UNKNOWN 値を持つリーフ ノードへ解決されます。このフラグが設定されていない場合、返される条件ツリーはさらに COP_GREATERTHANOREQUALCOP_LESSTHAN といった単純な比較の AND へ解決されます。たとえば、AQS クエリ "date:this month" を 9/19/2006 10:28:33 に対して解決した場合、このフラグが設定されていなければ、結果の条件ツリーは System.ItemDate COP_GREATERTHANOREQUAL 9/1/2006 00:00:00 と System.ItemDate COP_LESSTHAN 10/1/2006 00:00:00 の AND になります。このフラグが設定されている場合、結果の条件ツリーは System.ItemDate を IInterval に関連付け、その IInterval::GetLimits メソッドが ILK_EXPLICIT_INCLUDED、9/1/2006 00:00:00、ILK_EXPLICIT_EXCLUDED、10/1/2006 00:00:00 を返すようになります。
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS320x20制限のないキーワードとは、条件を完成させる値が関連付けられていないキーワードのことです。たとえば、次の AQS クエリでは "From" が示すプロパティが制限のないキーワードと見なされます: "Kind:email Subject:"My Resume" From:"。このフラグが設定されている場合、そのようなプロパティは、COP_IMPLICIT 演算、空の文字列値、および System.StructuredQueryType.Value のセマンティック型を持つリーフ ノードとして結果の条件ツリーに含まれます。設定されていない場合は完全に削除されます。
SQRO_DONT_SPLIT_WORDS640x40このフラグが設定されている場合、空白で区切られていない単語のグループは 1 つのリーフ ノードにまとめて保持されます。このフラグが設定されていない場合、そのグループは複数のリーフ ノードに分割されます。結果のツリーが、追加の単語分割を行うコードによってさらに処理される場合、アプリケーションは条件ツリーの解決時にこのフラグを設定するとよいでしょう。
SQRO_IGNORE_PHRASE_ORDER1280x80AQS クエリ内のフレーズが二重引用符で囲まれている場合、そのフレーズ内の単語は (SQRO_DONT_SPLIT_WORDS が設定されているかどうかにかかわらず) 単一のリーフ ノードに入りますが、このフラグが設定されている場合は別々のリーフ ノードに入り、その順序は問われなくなります。複数の単語を含むリーフ ノードを正しく処理できないアプリケーションは、このフラグを設定できます。
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES2560x100
SQRO_ADD_ROBUST_ITEM_NAME5120x200

ワード ブレーカーの既知の問題を回避し、必要に応じて PKEY_ItemNameDisplay に対する条件を追加します。

- SQRO_NULL_VALUE_TYPE_FOR_PLAIN_VALUES

Windows 7 以降。 下位互換性をサポートします。このフラグが設定されていない場合、クエリ エンジンは、名前のないエンティティである解決済みのリーフに値の型を生成します。値の型は情報を追加しないため、このフラグを設定することが推奨されます。

公式ドキュメント

データを条件ツリーへ解決する際のオプションです。

解説(Remarks)

STRUCTURED_QUERY_RESOLVE_OPTION 型は、StructuredQuery.h で次のように定義されています。

typedef int STRUCTURED_QUERY_RESOLVE_OPTION;
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum STRUCTURED_QUERY_RESOLVE_OPTION : int {
    SQRO_DEFAULT = 0,
    SQRO_DONT_RESOLVE_DATETIME = 1,
    SQRO_ALWAYS_ONE_INTERVAL = 2,
    SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4,
    SQRO_DONT_MAP_RELATIONS = 8,
    SQRO_DONT_RESOLVE_RANGES = 16,
    SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32,
    SQRO_DONT_SPLIT_WORDS = 64,
    SQRO_IGNORE_PHRASE_ORDER = 128,
    SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256,
    SQRO_ADD_ROBUST_ITEM_NAME = 512
} STRUCTURED_QUERY_RESOLVE_OPTION;
[Flags]
public enum STRUCTURED_QUERY_RESOLVE_OPTION : int
{
    SQRO_DEFAULT = 0,
    SQRO_DONT_RESOLVE_DATETIME = 1,
    SQRO_ALWAYS_ONE_INTERVAL = 2,
    SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4,
    SQRO_DONT_MAP_RELATIONS = 8,
    SQRO_DONT_RESOLVE_RANGES = 16,
    SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32,
    SQRO_DONT_SPLIT_WORDS = 64,
    SQRO_IGNORE_PHRASE_ORDER = 128,
    SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256,
    SQRO_ADD_ROBUST_ITEM_NAME = 512,
}
<Flags>
Public Enum STRUCTURED_QUERY_RESOLVE_OPTION As Integer
    SQRO_DEFAULT = 0
    SQRO_DONT_RESOLVE_DATETIME = 1
    SQRO_ALWAYS_ONE_INTERVAL = 2
    SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4
    SQRO_DONT_MAP_RELATIONS = 8
    SQRO_DONT_RESOLVE_RANGES = 16
    SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32
    SQRO_DONT_SPLIT_WORDS = 64
    SQRO_IGNORE_PHRASE_ORDER = 128
    SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256
    SQRO_ADD_ROBUST_ITEM_NAME = 512
End Enum
import enum

class STRUCTURED_QUERY_RESOLVE_OPTION(enum.IntFlag):
    SQRO_DEFAULT = 0
    SQRO_DONT_RESOLVE_DATETIME = 1
    SQRO_ALWAYS_ONE_INTERVAL = 2
    SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4
    SQRO_DONT_MAP_RELATIONS = 8
    SQRO_DONT_RESOLVE_RANGES = 16
    SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32
    SQRO_DONT_SPLIT_WORDS = 64
    SQRO_IGNORE_PHRASE_ORDER = 128
    SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256
    SQRO_ADD_ROBUST_ITEM_NAME = 512
// STRUCTURED_QUERY_RESOLVE_OPTION (flags)
pub const SQRO_DEFAULT: i32 = 0;
pub const SQRO_DONT_RESOLVE_DATETIME: i32 = 1;
pub const SQRO_ALWAYS_ONE_INTERVAL: i32 = 2;
pub const SQRO_DONT_SIMPLIFY_CONDITION_TREES: i32 = 4;
pub const SQRO_DONT_MAP_RELATIONS: i32 = 8;
pub const SQRO_DONT_RESOLVE_RANGES: i32 = 16;
pub const SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS: i32 = 32;
pub const SQRO_DONT_SPLIT_WORDS: i32 = 64;
pub const SQRO_IGNORE_PHRASE_ORDER: i32 = 128;
pub const SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES: i32 = 256;
pub const SQRO_ADD_ROBUST_ITEM_NAME: i32 = 512;
// STRUCTURED_QUERY_RESOLVE_OPTION
const (
	SQRO_DEFAULT int32 = 0
	SQRO_DONT_RESOLVE_DATETIME int32 = 1
	SQRO_ALWAYS_ONE_INTERVAL int32 = 2
	SQRO_DONT_SIMPLIFY_CONDITION_TREES int32 = 4
	SQRO_DONT_MAP_RELATIONS int32 = 8
	SQRO_DONT_RESOLVE_RANGES int32 = 16
	SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS int32 = 32
	SQRO_DONT_SPLIT_WORDS int32 = 64
	SQRO_IGNORE_PHRASE_ORDER int32 = 128
	SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES int32 = 256
	SQRO_ADD_ROBUST_ITEM_NAME int32 = 512
)
const
  SQRO_DEFAULT = 0;
  SQRO_DONT_RESOLVE_DATETIME = 1;
  SQRO_ALWAYS_ONE_INTERVAL = 2;
  SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4;
  SQRO_DONT_MAP_RELATIONS = 8;
  SQRO_DONT_RESOLVE_RANGES = 16;
  SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32;
  SQRO_DONT_SPLIT_WORDS = 64;
  SQRO_IGNORE_PHRASE_ORDER = 128;
  SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256;
  SQRO_ADD_ROBUST_ITEM_NAME = 512;
// STRUCTURED_QUERY_RESOLVE_OPTION
pub const SQRO_DEFAULT: i32 = 0;
pub const SQRO_DONT_RESOLVE_DATETIME: i32 = 1;
pub const SQRO_ALWAYS_ONE_INTERVAL: i32 = 2;
pub const SQRO_DONT_SIMPLIFY_CONDITION_TREES: i32 = 4;
pub const SQRO_DONT_MAP_RELATIONS: i32 = 8;
pub const SQRO_DONT_RESOLVE_RANGES: i32 = 16;
pub const SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS: i32 = 32;
pub const SQRO_DONT_SPLIT_WORDS: i32 = 64;
pub const SQRO_IGNORE_PHRASE_ORDER: i32 = 128;
pub const SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES: i32 = 256;
pub const SQRO_ADD_ROBUST_ITEM_NAME: i32 = 512;
const
  SQRO_DEFAULT* = 0
  SQRO_DONT_RESOLVE_DATETIME* = 1
  SQRO_ALWAYS_ONE_INTERVAL* = 2
  SQRO_DONT_SIMPLIFY_CONDITION_TREES* = 4
  SQRO_DONT_MAP_RELATIONS* = 8
  SQRO_DONT_RESOLVE_RANGES* = 16
  SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS* = 32
  SQRO_DONT_SPLIT_WORDS* = 64
  SQRO_IGNORE_PHRASE_ORDER* = 128
  SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES* = 256
  SQRO_ADD_ROBUST_ITEM_NAME* = 512
enum STRUCTURED_QUERY_RESOLVE_OPTION : int {
    SQRO_DEFAULT = 0,
    SQRO_DONT_RESOLVE_DATETIME = 1,
    SQRO_ALWAYS_ONE_INTERVAL = 2,
    SQRO_DONT_SIMPLIFY_CONDITION_TREES = 4,
    SQRO_DONT_MAP_RELATIONS = 8,
    SQRO_DONT_RESOLVE_RANGES = 16,
    SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 32,
    SQRO_DONT_SPLIT_WORDS = 64,
    SQRO_IGNORE_PHRASE_ORDER = 128,
    SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 256,
    SQRO_ADD_ROBUST_ITEM_NAME = 512,
}
#define global SQRO_DEFAULT                           0x0
#define global SQRO_DONT_RESOLVE_DATETIME             0x1
#define global SQRO_ALWAYS_ONE_INTERVAL               0x2
#define global SQRO_DONT_SIMPLIFY_CONDITION_TREES     0x4
#define global SQRO_DONT_MAP_RELATIONS                0x8
#define global SQRO_DONT_RESOLVE_RANGES               0x10
#define global SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS 0x20
#define global SQRO_DONT_SPLIT_WORDS                  0x40
#define global SQRO_IGNORE_PHRASE_ORDER               0x80
#define global SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES   0x100
#define global SQRO_ADD_ROBUST_ITEM_NAME              0x200
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。