Condividi tramite


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

Vedi anche

Ifilter