Windows 7 の時点では、URL の処理と解析に不整合が残っています。 このトピックでは、ファイル URL 形式の不整合をナビゲートするための制限付きガイドを提供します。
このトピックは次のように構成されています。
使用中の URL 形式
サードパーティのプロトコルは、URL 形式を定義し、標準に準拠した方法でクエリを定義する役割を担います。 たとえば、Microsoft Outlook では、 "?" 文字などの URL で無効な文字を含む任意の文字を持つフォルダー名がサポートされています。 MAPI プロトコル ハンドラーは、その URL の独自の URL エンコードを行います。 そのため、インデックスには"%3F"ではなく"?"が格納されるため、クエリの作成時に Outlook はこれを考慮する必要があります。
さまざまな形式を次の表に示します。各形式には、このトピックの後半で参照するための文字識別子が割り当てられます。
| ID | ローカルファイルのURLまたはリモートファイル | Example |
|---|---|---|
| A | ローカル | file:///c:/test/example/ |
| B | ローカル | file:c:/test/example/ |
| C | ローカル | c:\test\example\ |
| D | Remote | file:///\\server\share\ |
| E | Remote | file://server/share/ |
| F | Remote | \\server\share\ |
スラッシュの方向、後置の星、および末尾のスラッシュに対する感度
Windows Search では、スラッシュの方向に対する感度はほとんどありません。
c:\test\example形式が受け入れられる場合は、c:/test/example も受け入れられます。 ただし、 SCOPE は一般にスラッシュ方向に対して区別されませんが、リモート URL 形式 F の場合はスラッシュの方向に依存します。そのため、 Scope = '//server/share' は機能しません。
後続の星に敏感で、 c:\test\ と c:\test\* を区別する唯一の API は ISearchCrawlScopeManager です。
c:\test\*の除外規則がある場合、URL ディレクトリc:\test自体にはインデックスが作成されます。 ただし、除外 URL が c:\test\されている場合、URL ディレクトリ c:\test 自体にはインデックスが作成されません。
Windows Search には、末尾のスラッシュに対して機密性の高い ItemUrl クエリと Path クエリの 2 つの場所があります。 ディレクトリc:\testがある場合、Windows Search では、c:\test\やc:\testなどの述語のpath = 'c:\test'とは異なる方法でSystem.ItemUrl = 'c:\test'が処理されます。 たとえば、述語 path='file:c:/test' はディレクトリ c:\testと一致しますが、末尾のスラッシュのため、 path='file:c:/test/' は一致しません。
API とクエリによる URL 形式
選択した API とクエリで受け入れられるローカル ファイル URL 形式を次の表に示します。 形式は文字 (A から F) に関連付けられています。この意味は、このトピックの「使用する URL 形式」セクションで示されています。
| API またはクエリ | A の書式設定 | 形式 B | フォーマットC |
|---|---|---|---|
| ISearchCrawlScopeManager | ジー | 非対応 | ジー |
| IGatherNotifyInline::OnDataChange | ジー | ジー | ジー |
| ISearchCatalogManager::ReindexMatchingURLs | ジー | ジー | ジー |
| ISearchCatalogManager::ReindexSearchRoot | ジー | 非対応 | 非対応 |
| ISearchCatalogManager2::PrioritizeMatchingURLs | ジー | ジー | ジー |
| スコープ= | 非対応 | ジー | ジー |
| ディレクトリ= | 非対応 | ジー | ジー |
| ItemUrl= | 非対応 | ジー | ジー |
| Path= | 非対応 | ジー | ジー |
選択したクエリで受け入れられるリモート ファイル URL 形式を次の表に示します。
| Query | D 形式 | 形式 E | 書式 F |
|---|---|---|---|
| ISearchCrawlScopeManager | N/A | N/A | N/A |
| IGatherNotifyInline::OnDataChange | N/A | N/A | N/A |
| ISearchCatalogManager::ReindexMatchingURLs | N/A | N/A | N/A |
| ISearchCatalogManager::ReindexSearchRoot | N/A | N/A | N/A |
| ISearchCatalogManager2::PrioritizeMatchingURLs | N/A | N/A | N/A |
| スコープ= | ジー | ジー | ジー |
| ディレクトリ= | ジー | ジー | ジー |
| ItemUrl= | ジー | ジー | ジー |
| パス= | ジー | ジー | ジー |
関連トピック