Vložené objekty (architektura textových služeb)
Architektura textových služeb umožňuje textové službě vkládat objekty do textového datového proudu aplikace. Vložené objekty jsou vloženy do textového datového proudu pomocí hodnoty TS_CHAR_EMBEDDED. Tato hodnota se přeloží na znak nahrazení objektu Unicode U+fffc pomocí šestnáctkového zápisu. Například následující obrázek znázorňuje vykreslení vloženého objektu, který představuje japonský ideograf hi, v kombinaci s posloupností znaků Unicode, které představují anglický překlad "Slunce".
Horní řádek obrázku obsahuje přeložený text, který se skládá ze slova "Sun" následovaného japonským znakem slunce, ahoj. Na prostředním řádku obrázku je znak Unicode. V případě U+fffc se jedná o náhradní znak objektu. Dolní řádek obrázku zobrazuje šestnáctkovou hodnotu každého znaku.
Podpora vložených objektů v aplikaci
Správce TSF vloží vložený objekt do textového datového proudu voláním ITextStoreACP::InsertEmbedded pro aplikaci založenou na AKT nebo ITextStoreAnchor::InsertEmbedded pro aplikaci založenou na ukotvení. Při vložení vloženého objektu by aplikace měla umístit TS_CHAR_EMBEDDED hodnotu na pozici znaku (nebo umístění ukotvení), kde je objekt vložen a uloží objekt IDataObject přidružený k vloženého objektu. Při ITextStoreACP::GetText nebo ITextStoreAnchor::GetText je volána a vložený objekt je obsažen v textu získané, TS_CHAR_EMBEDDED hodnota označuje přítomnost a umístění vloženého objektu. Chcete-li získat vložený objekt, volání ITextStoreACP::GetEmbedded s umístěním znaku vloženého objektu, nebo ITextStoreAnchor::GetEmbedded umístění ukotvení vloženého objektu.
Aplikace obvykle nerozpozná obsah vloženého objektu. Aplikace se může pokusit získat informace o zobrazení ze samotného objektu. Pokud vložený objekt může poskytovat data ve formátu, který aplikace rozpozná, například CF_UNICODETEXT nebo CF_BITMAP, může aplikace zobrazit grafické informace poskytnuté objektem.
Vkládání vložených objektů
Textová služba vloží vložený objekt do kontextu voláním ITfRange::InsertEmbedded nebo ITfInsertAtSelection::InsertEmbeddedAtSelection. Textová služba musí zadat vložený objekt IDataObject.