enumerazione IFILTER_INIT (filter.h)
[Il servizio di indicizzazione non è più supportato a partire da Windows XP e non è disponibile per l'uso a partire da Windows 8. Usare invece Windows Search per la ricerca sul lato client e Microsoft Search Server Express per la ricerca sul lato server.]
Flag che controllano il processo di filtro.
Sintassi
typedef enum tagIFILTER_INIT {
IFILTER_INIT_CANON_PARAGRAPHS = 1,
IFILTER_INIT_HARD_LINE_BREAKS = 2,
IFILTER_INIT_CANON_HYPHENS = 4,
IFILTER_INIT_CANON_SPACES = 8,
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES = 16,
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES = 32,
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES = 256,
IFILTER_INIT_INDEXING_ONLY = 64,
IFILTER_INIT_SEARCH_LINKS = 128,
IFILTER_INIT_FILTER_OWNED_VALUE_OK = 512,
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK = 1024,
IFILTER_INIT_DISABLE_EMBEDDED = 2048,
IFILTER_INIT_EMIT_FORMATTING = 4096
} IFILTER_INIT;
Costanti
IFILTER_INIT_CANON_PARAGRAPHS Valore: 1 Le interruzioni di paragrafo devono essere contrassegnate con unicode PARAGRAPH SEPARATOR (0x2029). |
IFILTER_INIT_HARD_LINE_BREAKS Valore: 2 I ritorni sfumati, ad esempio il carattere di nuova riga in Word, devono essere sostituiti da ritorni rigidi? SEPARATORE RIGA (0x2028). I risultati hard restituiti esistenti possono essere raddoppiati. Un ritorno a capo (0x000D), avanzamento riga (0x000A) o ritorno a capo e avanzamento riga in combinazione deve essere considerato un ritorno fisso. La finalità consiste nell'abilitare le corrispondenze di pattern-expression che corrispondono alle interruzioni di riga osservate. |
IFILTER_INIT_CANON_HYPHENS Valore: 4 Vari programmi di elaborazione delle parole hanno forme di trattini che non sono rappresentati nel set di caratteri host, ad esempio trattini facoltativi (visualizzati solo alla fine di una riga) e trattini non interrotti. Questo flag indica che i trattini facoltativi devono essere convertiti in valori Null e i trattini non di rilievo devono essere convertiti in trattini normali (0x2010) o HYPHEN-MINUSES (0x002D). |
IFILTER_INIT_CANON_SPACES Valore: 8 Proprio come il flag IFILTER_INIT_CANON_HYPHENS standardizza i trattini, questo standardzza gli spazi. Tutti i caratteri di spazio speciali, ad esempio gli spazi non di interruzione, vengono convertiti nel carattere di spazio standard (0x0020). |
IFILTER_INIT_APPLY_INDEX_ATTRIBUTES Valore: 16 Indica che il client vuole suddividere il testo in blocchi che rappresentano le proprietà interne del tipo di valore. |
IFILTER_INIT_APPLY_OTHER_ATTRIBUTES Valore: 32 Tutte le proprietà non coperte dai flag IFILTER_INIT_APPLY_INDEX_ATTRIBUTES e IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES devono essere generate. |
IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES Valore: 256 Indica che il client desidera suddividere il testo in blocchi che rappresentano le proprietà determinate durante il processo di indicizzazione. |
IFILTER_INIT_INDEXING_ONLY Valore: 64 Ottimizza IFilter per l'indicizzazione perché il client chiama il metodo IFilter::Init una sola volta e non chiama IFilter::BindRegion. In questo modo si elimina la possibilità di accedere a un blocco sia prima che dopo l'accesso a un altro blocco. |
IFILTER_INIT_SEARCH_LINKS Valore: 128 Il processo di estrazione del testo deve eseguire ricerche ricorsive in tutti gli oggetti collegati all'interno del documento. Se un collegamento non è disponibile, la chiamata IFilter::GetChunk che avrebbe ottenuto il primo blocco del collegamento dovrebbe restituire FILTER_E_LINK_UNAVAILABLE. |
IFILTER_INIT_FILTER_OWNED_VALUE_OK Valore: 512 Il processo di indicizzazione del contenuto può restituire i valori delle proprietà impostati dal filtro. |
IFILTER_INIT_FILTER_AGGRESSIVE_BREAK Valore: 1024 TBD |
IFILTER_INIT_DISABLE_EMBEDDED Valore: 2048 TBD |
IFILTER_INIT_EMIT_FORMATTING Valore: 4096 TBD |
Commenti
In genere, l'output di testo del metodo IFilter::GetText deve corrispondere esattamente al testo effettivo del documento. Tuttavia, per ottenere la massima interoperabilità, è auspicabile una certa standardizzazione delle funzionalità comuni. Queste funzionalità includono interruzioni di paragrafo, interruzioni di riga, trattini e spazi. I server di interfaccia IFilter possono anche incorporare caratteri Null nel testo, che vengono quasi ignorati dai client. Ovvero, il carattere Unicode 0x0000 viene completamente ignorato e 0x0001 viene considerato come un'interruzione di parola.
Quattro flag controllano la standardizzazione del testo: IFILTER_INIT_CANON_PARAGRAPHS, IFILTER_INIT_HARD_LINE_BREAKS, IFILTER_INIT_CANON_HYPHENS e IFILTER_INIT_CANON_SPACES.
I client diversi dell'interfaccia IFilter desiderano visualizzazioni diverse di un oggetto. Tre flag, IFILTER_INIT_APPLY_INDEX_ATTRIBUTES, IFILTER_INIT_APPLY_CRAWL_ATTRIBUTES e IFILTER_INIT_APPLY_OTHER_ATTRIBUTES, controllano il set di proprietà che devono essere applicate ai blocchi. Inoltre, è possibile richiedere proprietà specifiche nelle chiamate al metodo IFilter::Init come matrice di size cAttributes, archiviate in aAttributes.
Le implementazioni dell'interfaccia IFilter devono archiviare alcune informazioni sui blocchi quando si verificano operazioni diverse dall'indicizzazione del contenuto. IFILTER_INIT_INDEXING_ONLY ottimizza il filtro per l'indicizzazione.
A scopo di visualizzazione, può essere consigliabile eseguire ricerche tra collegamenti, nonché nel documento e in tutti gli oggetti incorporati. IFILTER_INIT_SEARCH_LINKS specifica la ricerca ricorsiva di tutti i collegamenti.
Alcune implementazioni dell'interfaccia IFilter potrebbero generare valori di proprietà durante il processo di indicizzazione del contenuto e IFILTER_INIT_FILTER_OWNED_VALUE_OK indica che è OK restituire questi valori.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | filter.h |