Sdílet prostřednictvím


Knihovna šablon C++ prostředí Windows Runtime (WRL)

Knihovna šablon C++ prostředí Windows Runtime (WRL) Je knihovna šablony, která umožňuje nižší úrovně, vytvářet a používat Windows Runtime komponenty.

Výhody

WRL Vám umožní snadněji implementovat a spotřebovat komponenty modelu COM (Component Object).Poskytuje techniky domácnosti jako počítání odkazů můžete spravovat životnosti objektů a testování HRESULT hodnoty k určení, zda operace proběhla úspěšně, nebo se nezdařilo.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 vysoké úrovně jazyka založeného na způsob použití Windows Runtime komponenty.Oba WRL a C++/CX psaní kódu pro zjednodušení Windows Runtime automaticky provedením úkolů domácnosti ve vašem zastoupení.

WRL a C++/CX poskytují různé výhody.Zde jsou některé důvody, které chcete použít WRL namísto C++/CX:

  • WRLPřidá málo abstrakce nad Windows Runtime aplikace binární rozhraní (ABI), což vám dává možnost ovládat základní kód lépe vytvořit nebo spotřebovával Windows Runtime rozhraní API.

  • C++/CXpředstavuje COM HRESULT hodnoty jako výjimky.Jestliže jste zděděné základ kódu, který používá COM, nebo která nepoužívá výjimky, může se stát, že WRL je přirozenější způsob práce s Windows Runtime protože není nutné používat výjimky.

    [!POZNÁMKA]

    WRL Používá HRESULT hodnoty a nevyvolá výjimky.Kromě toho WRL používá inteligentní ukazatele a vzorek RAII k zajištění objekty jsou v případě, že kód vaší aplikace vyvolá výjimku zničeno správně.Další informace o chytré ukazatele a RAII, viz Inteligentní ukazatelů (Příručka programování moderních C++) a Vlastní zdroje objekty (RAII).

  • Účel a návrh WRL je podnítil tím, ATL Active Template Library (), což je sada šablonových C++ tříd, které zjednodušují programování COM objektů.Protože WRL používá standardní C++ zalomení Windows Runtime, snadněji port a pracovat s mnoha existující COM komponenty napsané v ATL na Windows Runtime.Pokud již znáte knihovny ATL, může se stát, že WRL programování je snadnější.

Začínáme

Zde jsou některé prostředky, které mohou pomoci při získání práce s WRL ihned.

WRLVe srovnání s knihovny ATL

WRLprotože ve kterém můžete vytvořit malý, rychlé objekty modelu COM se podobá (Active Template LIBARY).WRLa ATL také sdílet pojmy, jako je například definice objektů v modulech, explicitní registrace rozhraní a otevřete vytváření objektů pomocí mechanizmu.Je možné, že s WRL Pokud ovládáte knihovny ATL.

WRLpodporuje funkci modelu COM, který je vyžadován pro Windows Store apps.Proto se liší od knihovny ATL protože vynechává přímou podporu modelu COM funkce, jako je například:

  • agregace

  • Burzovní implementace

  • duální rozhraní (IDispatch)

  • Standardní čítač rozhraní

  • spojovací body

  • odtrhnout rozhraní

  • Vložení OLE

  • ovládací prvky ActiveX.

  • COM +

Základní pojmy

WRLobsahuje typy, které představují několik základních pojmů.Následující části popisují tyto typy.

Hh438466.collapse_all(cs-cz,VS.110).gifComPtr

ComPtr je inteligentní ukazatel typ, který představuje rozhraní, který je určený parametrem šablony.Použití ComPtr pro deklarování proměnné, který má přístup k členům objekt, který je odvozen z rozhraní.ComPtrautomaticky udržuje počet odkazů pro základní ukazatele rozhraní a rozhraní uvolní, pokud je počet odkazů na nulu.

Hh438466.collapse_all(cs-cz,VS.110).gifRuntimeClass

RuntimeClass představuje instance třídy, která dědí sadu určeného rozhraní.A RuntimeClass objekt může poskytovat podporu pro jednu nebo více kombinací Windows Runtime rozhraní modelu COM nebo Slabý odkaz na komponentu.

Hh438466.collapse_all(cs-cz,VS.110).gifModul

Modul představuje kolekci souvisejících objektů.A Module objekt spravuje třídy továrny, které vytvářejí objekty a registrace, která umožňuje aplikacím použít objekt.

Hh438466.collapse_all(cs-cz,VS.110).gifZpětné volání

Zpětného volání funkce vytvoří objekt, jehož členská funkce je obslužnou rutinu události (metodu zpětného volání).Použití Callback funkce asynchronní operace zápisu.

Hh438466.collapse_all(cs-cz,VS.110).gifAtribut EventSource

Atribut EventSource slouží ke správě delegáta obslužné rutiny událostí.Použít WRL implementovat delegáta a použít EventSource přidat, odebrat a vyvolat delegátů.

Hh438466.collapse_all(cs-cz,VS.110).gifAsyncBase

AsyncBase poskytuje virtuální metody, které představují Windows Runtime modelu asynchronního programování.Přepište členy této třídy k vytvoření vlastní třídy, které lze spustit, zastavit nebo kontrolovat průběh asynchronní operace.

Hh438466.collapse_all(cs-cz,VS.110).gifFtmBase

FtmBase představuje objekt free-threaded Marshaller.FtmBasevytvoří tabulku globální rozhraní (GIT) a pomáhá spravovat zařazování a proxy objekty.

Hh438466.collapse_all(cs-cz,VS.110).gifWeakRef

WeakRef je typ smart ukazatel, který představuje Slabý odkaz, která odkazuje na objekt, který může nebo nemusí být přístupné.A WeakRef objektu mohou být využívány pouze Windows Runtimea nikoli podle klasického modelu COM.

A WeakRef objekt obvykle představuje objekt, jejíž existence je řízena vnější vlákno nebo aplikace.Například WeakRef objekt můžete odkazovat na objekt souboru.Pokud je soubor otevřen, WeakRef je platný a přístupný odkazovaný soubor.Ale v případě, že je daný soubor zavřený, WeakRef je neplatný a soubor není přístupný.

Příbuzná témata

Šablona projektu knihovny tříd WRL

Popisuje, jak získat přístup k šabloně projektu knihovny tříd WRL.Tato šablona umožňuje zjednodušit úlohu pomocí sady Visual Studio k vytvoření Windows Runtime komponenty.

Nejdůležitější rozhraní API knihovny WRL podle kategorie

Zvýrazní primární WRL typů, funkce a makra.

Referenční dokumentace ke knihovně WRL

Obsahuje informace o odkazech WRL.

Stručná referenční příručka (za běhu systému Windows a aplikace Visual C++)

Stručně popisuje C++/CX funkce, které podporují Windows Runtime.

Pomocí součásti Runtime v systému Windows v aplikaci Visual C++

Ukazuje, jak použít C++/CX Chcete-li vytvořit základní Windows Runtime komponenty.