Knihovna šablon C++ prostředí Windows Runtime (WRL)
Knihovna šablon C++ prostředí Windows Runtime (WRL) je knihovna šablon, která umožňuje vytvářet a používat součásti prostředí Windows Runtime na nižší úrovni.
Výhody
WRL umožňuje snadněji implementovat a používat komponenty modelu COM (Component Object Model).Poskytuje metody údržby pořádku jako počítání odkazů ke správě platnosti objektů a testování hodnot HRESULT k určení, zda operace proběhla úspěšně nebo se nezdařila.Chcete-li úspěšně použít WRL, je třeba pečlivě dodržovat tato pravidla a postupy.
rozšíření komponent v jazyce Visual C++ (C++/CX) je způsob použití komponent prostředí Windows Runtime vysoké úrovni založený na jazyce.Obě možnosti WRL a C++/CX zjednodušují zápis kódu pro prostředí Windows Runtime automatickým prováděním údržby pořádku za vás.
WRL a C++/CX poskytují různé výhody.Zde jsou některé důvody, proč můžete chcete použít WRL místo C++/CX:
WRL přidá trochu abstrakce přes rozhraní ABI (Application Binary Interface) prostředí Windows Runtime, poskytující možnost lépe ovládat základní kód pro lepší tvorbu nebo zpracování rozhraní API prostředí Windows Runtime.
C++/CX představuje hodnoty HRESULT modelu COM jako výjimky.Jestliže jste zdědili základ kódu, který používá COM, nebo který výjimky nepoužívá, můžete zjistit, že WRL je přirozenější způsob, jak pracovat s prostředí Windows Runtime, protože není nutné používat výjimky.
[!POZNÁMKA]
WRL používá hodnoty HRESULT a nevyvolává výjimky.Kromě toho WRL používá inteligentní ukazatele a vzorek RAII, aby bylo jednodušší zajistit, že objekty jsou správně zničeny, když kód aplikace vyvolá výjimku.Další informace o inteligentních ukazatelích a RAII naleznete v tématu Chytré ukazatele (moderní verze jazyka C++) a Prostředky ve vlastnictví objektů (RAII).
Účel a návrh je v případě WRL inspirován knihovnou ATL (Active Template Library), což je sada šablonových tříd C++ , které zjednodušují programování objektů COM.Vzhledem k tomu, že WRL používá standardní C++ pro zalomení prostředí Windows Runtime, můžete snadněji portovat a pracovat s mnoha stávající komponentami modelu COM v ATL na prostředí Windows Runtime.Pokud již znáte ATL, může se stát, že programování WRL je jednodušší.
Začínáme
Zde jsou některé zdroje, které vám mohou pomoci ihned začít pracovat s WRL.
Knihovna prostředí runtime systému Windows (WRL)
V tomto videu Channel 9 se dozvíte více o tom, jak vám pomůže WRL psát aplikace Windows Store a jak vytvářet a zpracovávat komponenty prostředí Windows Runtime.Postupy: Aktivace a používání komponent prostředí Windows Runtime s použitím knihovny WRL
Ukazuje, jak použít WRL k inicializaci prostředí Windows Runtime a aktivaci a použití komponenty prostředí Windows Runtime.Postupy: Dokončení asynchronních operací s použitím knihovny WRL
Ukazuje, jak použít WRL ke spuštění asynchronních operací a provedení práce po dokončení operací.Postupy: Zpracování událostí s použitím knihovny WRL
Ukazuje, jak použít WRL k přihlášení k odběru a zpracování událostí objektu prostředí Windows Runtime.Postup: Vytvoření základní komponenty prostředí Windows Runtime s použitím knihovny WRL
Ukazuje, jak použít WRL, chcete-li vytvořit základní komponentu prostředí Windows Runtime, která sečte dvě čísla.Také ukazuje, jak vyvolat události a používat komponenty z aplikací Windows Store, které používají jazyk JavaScript.Postupy: Vytvoření aplikace pro Windows Store s použitím knihovny WRL a platformy Media Foundation
Informace o vytváření aplikace Windows Store, která používá Microsoft Media Foundation.Postupy: Vytvoření klasické komponenty COM s použitím knihovny WRL
Ukazuje, jak použít WRL, chcete-li vytvořit základní komponenty modelu COM, a základní způsob, jak se zaregistrovat a využívat komponenty modelu COM z aplikace klasické pracovní plochy.Postupy: Přímé vytváření instancí komponent knihovny WRL
Naučte se používat funkce Microsoft::WRL::Make a Microsoft::WRL::Details::MakeAndInitialize pro vytvoření instance komponenty z modulu, který ho definuje.Postupy: Vytváření souborů .h z metadat Windows pomocí nástrojů winmdidl.exe a midlrt.exe
Ukazuje, jak využívat vlastní součásti prostředí Windows Runtime z WRL vytvořením souboru IDL z metadat .winmd.Návod: Připojení pomocí úloh a žádostí XML HTTP
Ukazuje, jak používat rozhraní IXMLHTTPRequest2 a IXMLHTTPRequest2Callback spolu s úkoly odesílajícími požadavky HTTP GET a POST na webovou službu v aplikaci Windows Store.Příklad optimalizace cesty mapy Bing
Používá třídu HttpRequest, která je definována v tématu Návod: Připojení pomocí úloh a žádostí XML HTTP v souvislosti s úplnou aplikací Windows Store.Vytvoření součásti modulu Windows Runtime s ukázkou jazyka C++
Ukazuje, jak použít WRL, chcete-li vytvořit komponentu knihovny DLL v rámci procesu a používat ji v C++/CX, JavaScriptu a C#.Ukázka hry mramorového bludiště DirectX
Ukazuje, jak použít WRL ke správě životnosti komponent modelu COM, jako je rozhraní DirectX a platformy Media Foundation v souvislosti s kompletní 3D hrou.Odesílání oznámení z aplikací klasické pracovní plochy (ukázka)
Ukazuje, jak použít WRL pro práci s oznámeními pro oznámení z pracovní plochy aplikace.
WRL porovnané s ATL.
WRL se podobá chování aktivní šablony knihovny (ATL), protože můžete vytvořit malé, rychlé objekty modelu COM.WRL a ATL také sdílí koncepty, jako jsou definice objektů v modulech, explicitní registraci rozhraní a otevře vytváření objektů pomocí továren.S WRL se vám může dobře pracovat, pokud ovládáte práci s knihovnou ATL.
WRL podporuje funkce modelu COM vyžadované pro aplikace Windows Store.Proto se liší od knihovny ATL, protože vynechá přímou podporu funkcí modelu COM, jako například:
agregace
uložené implementace
duální rozhraní (IDispatch)
standardní rozhraní čítače
spojovací body
rozhraní s odnímatelnými nabídkami
Vložení OLE
Ovládací prvky ActiveX
COM+
Koncepty
WRL poskytuje typy, které představují několik základních pojmů.Následující části tyto typy popisují.
ComPtr
ComPtr je typ inteligentní ukazatel, který představuje rozhraní, které je určeno parametrem šablony.Za pomoci ComPtr deklarujte proměnnou, která má přístup ke členům objektu, který je odvozen z rozhraní.ComPtr automaticky udržuje počet odkazů pro základního ukazatele rozhraní a uvolní rozhraní, když se počet odkazů sníží na nulu.
RuntimeClass
RuntimeClass představuje instance třídy, která dědí sadu zadaných rozhraní.Objekt RuntimeClass může poskytovat podporu pro jednu nebo více kombinací rozhraní COM prostředí Windows Runtime nebo slabý odkaz na komponentu.
Modul
Modul představuje kolekci souvisejících objektů.Objekt Module spravuje vytváření tříd, které vytvářejí objekty a registraci, což umožňuje jiným aplikacím použít objekt.
Zpětné volání
Funkce Zpětné volání vytvoří objekt, jehož členská funkce je obslužnou rutinu události (metoda zpětného volání).Pomocí funkce Callback zapište asynchronní operace.
EventSource
EventSource slouží ke správě obslužné rutiny událostí delegate.Pomocí WRL delegáta implementujete a pomocí EventSource je přidáte, odeberete nebo vyvoláte.
AsyncBase
AsyncBase poskytuje virtuální metody, které představují asynchronní model programování prostředí Windows Runtime.Přepište členy této třídy pro vytvoření vlastní třídy, která může spustit, zastavit nebo zkontrolovat průběh asynchronní operace.
FtmBase
FtmBase představuje objekt s volným zařazováním vláken.FtmBase vytvoří globální tabulku rozhraní (GIT) a pomáhá spravovat objekty zařazování a proxy.
WeakRef
WeakRef je typ inteligentního ukazatele, který představuje slabý odkaz, který odkazuje na objekt, který může nebo nemusí být dostupný.Objekt WeakRef lze použít pouze pomocí prostředí Windows Runtime a nikoli podle klasického modelu COM.
Objekt WeakRef obvykle představuje objekt, jehož existence je řízena vnějším vláknem nebo aplikací.Například objekt WeakRef může odkazovat na objekt v souboru.Při otevření souboru je WeakRef platné a odkazovaný soubor je přístupný.Ale při zavření souboru je WeakRef neplatné a soubor není přístupný.
Příbuzná témata
Popisuje, jak získat přístup k šabloně projektu Knihovna tříd WRL.Tato šablona umožňuje zjednodušit úlohu pomocí sady Visual Studio a vytvořit tak komponenty prostředí Windows Runtime. |
|
Zvýrazní primární typy, funkce a makra WRL. |
|
Obsahuje referenční informace pro WRL. |
|
Stručně popisuje funkce C++/CX, které podporují prostředí Windows Runtime. |
|
Použití součástí prostředí Windows Runtime v jazyce Visual C++ |
Ukazuje, jak použít C++/CX, chcete-li vytvořit základní součást prostředí Windows Runtime. |