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

Windows Runtime C++ šablony knihovny (WRL) je knihovna šablon, který poskytuje nízké úrovně způsob vytváření a používání komponent prostředí Windows Runtime.The Windows Runtime C++ Template Library (WRL) is a template library that provides a low-level way to author and use Windows Runtime components.

VýhodyBenefits

Knihovna šablon C++ Runtime Windows umožňuje snadno implementovat a využívat komponenty modelu COM (Component Object).The Windows Runtime C++ Template Library enables you to more easily implement and consume Component Object Model (COM) components. Poskytuje housekeeping techniky jako referenční počítání dobu trvání objektů a testování HRESULT hodnoty určující, zda operace byla úspěšná nebo neúspěšná.It provides housekeeping techniques like reference-counting to manage the lifetime of objects and testing HRESULT values to determine whether an operation succeeded or failed. Úspěšně používat knihovna šablon C++ Runtime Windows, musíte pečlivě postupujte podle těchto pravidel a techniky.To successfully use the Windows Runtime C++ Template Library, you must carefully follow these rules and techniques.

C + +/ CX je nejdůležitější, na základě jazyka způsob, jak používat prostředí Windows Runtime komponenty.The C++/CX is a high-level, language-based way to use Windows Runtime components. Knihovna šablon C++ prostředí Windows Runtime i C + +/ CX zjednodušit psaní kódu pro prostředí Windows Runtime automaticky provedením úloh housekeeping vaším jménem.Both the Windows Runtime C++ Template Library and C++/CX simplify the writing of code for the Windows Runtime by automatically performing housekeeping tasks on your behalf.

Knihovna šablon C++ prostředí Windows Runtime a C + +/ CX poskytovat různé výhody.The Windows Runtime C++ Template Library and C++/CX provide different benefits. Zde jsou některé důvody, které můžete chtít použít knihovna šablon C++ Runtime Windows místo C + +/ CX:Here are some reasons you might want to use the Windows Runtime C++ Template Library instead of C++/CX:

  • Knihovna šablon C++ prostředí Windows Runtime přidá málo abstrakci přes Windows Runtime aplikace binární rozhraní (ABI), která poskytuje možnost řídit kódu pro lepší vytvořit nebo využívají rozhraní API systému Windows Runtime.Windows Runtime C++ Template Library adds little abstraction over the Windows Runtime Application Binary Interface (ABI), giving you the ability to control the underlying code to better create or consume Windows Runtime APIs.

  • C + +/ CX představuje COM HRESULT hodnoty jako výjimky.C++/CX represents COM HRESULT values as exceptions. Pokud jste zděděn základu kódu, pomocí modelu COM nebo ten, který nepoužívá výjimky, můžete zjistit, že je knihovna šablon C++ Runtime Windows přirozenější způsob, jak pracovat s prostředí Windows Runtime, protože nemusíte používat výjimky.If you’ve inherited a code base that uses COM, or one that doesn’t use exceptions, you might find that the Windows Runtime C++ Template Library is a more natural way to work with the Windows Runtime because you don't have to use exceptions.

    Poznámka

    Knihovna šablon C++ Runtime Windows používá HRESULT hodnoty a nevyvolá výjimku výjimky.The Windows Runtime C++ Template Library uses HRESULT values and does not throw exceptions. Kromě toho knihovna šablon C++ Runtime Windows používá chytré ukazatele a vzoru RAII k zajištění objekty jsou při kódu aplikace vyvolá výjimku zničen správně.In addition, the Windows Runtime C++ Template Library uses smart pointers and the RAII pattern to help guarantee that objects are destroyed correctly when your application code throws an exception. Další informace o chytré ukazatele a RAII najdete v tématu chytré ukazatele a objekty vlastní prostředky (RAII).For more info about smart pointers and RAII, see Smart Pointers and Objects Own Resources (RAII).

  • Účel a návrhu knihovna šablon C++ Runtime Windows se daly podnět pomocí ATL Active Template Library (), což je sada na základě šablon C++ tříd, které zjednodušují programování objektů COM.The purpose and design of the Windows Runtime C++ Template Library is inspired by the Active Template Library (ATL), which is a set of template-based C++ classes that simplify the programming of COM objects. Vzhledem k tomu, že knihovna šablon C++ prostředí Windows Runtime používá standardní C++ zabalit prostředí Windows Runtime, můžete snadno portu a pracovat s mnoha existující komponenty modelu COM v ATL zapsána do prostředí Windows Runtime.Because Windows Runtime C++ Template Library uses standard C++ to wrap the Windows Runtime, you can more easily port and interact with many existing COM components written in ATL to the Windows Runtime. Pokud už znáte ATL, můžete zjistit, že je knihovna šablon C++ prostředí Windows Runtime programování jednodušší.If you already know ATL, you might find that Windows Runtime C++ Template Library programming is easier.

ZačínámeGetting Started

Tady jsou některé prostředky, které vám může pomoct získat práce knihovna šablon C++ Runtime Windows hned.Here are some resources that can help you get working with the Windows Runtime C++ Template Library right away.

Knihovna Windows Runtime (WRL)The Windows Runtime Library (WRL)
V tomto videu Channel 9 Další informace o tom, jak vám může pomoci knihovna šablon C++ Runtime Windows zápisu aplikace pro univerzální platformu Windows (UWP) a jak vytvářet a využívat komponenty prostředí Windows Runtime.In this Channel 9 video, learn more about how the Windows Runtime C++ Template Library helps you write Universal Windows Platform (UWP) apps and how to author and consume Windows Runtime components.

Postupy: Aktivace a používání komponent prostředí Windows RuntimeHow to: Activate and Use a Windows Runtime Component
Ukazuje, jak používat knihovna šablon C++ Runtime Windows k inicializaci prostředí Windows Runtime a aktivace a používání komponent prostředí Windows Runtime.Shows how to use the Windows Runtime C++ Template Library to initialize the Windows Runtime and activate and use a Windows Runtime component.

Postupy: dokončení asynchronních operacíHow to: Complete Asynchronous Operations
Ukazuje, jak pomocí knihovny šablon jazyka C++ Runtime Windows spouštět asynchronní operace a práci při dokončení operace.Shows how to use the Windows Runtime C++ Template Library to start asynchronous operations and perform work when the operations complete.

Postupy: zpracování událostíHow to: Handle Events
Ukazuje, jak používat k přihlášení k odběru a zpracování událostí objektu prostředí Windows Runtime knihovna šablon C++ Runtime systému Windows.Shows how to use the Windows Runtime C++ Template Library to subscribe to and handle the events of a Windows Runtime object.

Návod: Vytvoření komponenty základní služby Windows RuntimeWalkthrough: Creating a Basic Windows Runtime Component
Ukazuje, jak vytvořit základní komponenty prostředí Windows Runtime, která sečte dvě čísla pomocí knihovny šablon jazyka C++ Runtime systému Windows.Shows how to use the Windows Runtime C++ Template Library to create a basic Windows Runtime component that adds two numbers. Také ukazuje, jak aktivovat události a používání komponent z aplikace pro UPW, která používá jazyk JavaScript.Also demonstrates how to raise events and use the component from a UWP app that uses JavaScript.

Návod: Vytvoření aplikace pro UPW pomocí knihovny WRL a platformy Media FoundationWalkthrough: Creating a UWP app using WRL and Media Foundation
Naučte se vytvářet aplikace pro UPW, který používá Microsoft Media Foundation.Learn how to create a UWP app that uses Microsoft Media Foundation.

Postupy: vytvoření klasické komponenty COMHow to: Create a Classic COM Component
Ukazuje, jak použít knihovna šablon C++ Runtime Windows k vytvoření základní komponenty modelu COM a základní způsob, jak zaregistrovat a využívat komponenty modelu COM z aplikace na ploše.Shows how to use the Windows Runtime C++ Template Library to create a basic COM component and a basic way to register and consume the COM component from a desktop app.

Postupy: Přímé vytváření instancí komponent knihovny WRLHow to: Instantiate WRL Components Directly
Další informace o použití Microsoft::WRL::Make a Microsoft::WRL::Details::MakeAndInitialize funkce pro vytvoření instance součásti z modulu, který ji definuje.Learn how to use the Microsoft::WRL::Make and Microsoft::WRL::Details::MakeAndInitialize functions to instantiate a component from the module that defines it.

Postupy: Vytváření souborů .h z metadat Windows pomocí nástrojů winmdidl.exe a midlrt.exeHow to: Use winmdidl.exe and midlrt.exe to create .h files from windows metadata
Ukazuje, jak používat vlastní komponenty prostředí Windows Runtime z knihovny WRL vytvořením souboru IDL z .winmd metadat.Shows how to consume custom Windows Runtime components from WRL by creating an IDL file from the .winmd metadata.

Návod: Připojení pomocí úloh a žádostí XML HTTPWalkthrough: Connecting Using Tasks and XML HTTP Requests
Ukazuje, jak používat IXMLHTTPRequest2 a IXMLHTTPRequest2Callback rozhraní společně s úkoly na odesílání žádostí HTTP GET a POST na webovou službu v aplikaci UWP.Shows how to use the IXMLHTTPRequest2 and IXMLHTTPRequest2Callback interfaces together with tasks to send HTTP GET and POST requests to a web service in a UWP app.

Ukázka Optimalizátor cestě Bing MapsBing Maps Trip Optimizer sample
Používá HttpRequest třídu, která je definována v návod: připojení pomocí úloh a žádostí XML HTTP v kontextu kompletní aplikace UWP.Uses the HttpRequest class that's defined in Walkthrough: Connecting Using Tasks and XML HTTP Requests in the context of a complete UWP app.

Vytvoření komponenty prostředí Windows Runtime DLL s ukázkou C++Creating a Windows Runtime DLL component with C++ sample
Ukazuje, jak používat knihovna šablon C++ Runtime Windows vytvořit komponentu knihovny DLL v procesu a využívat z C + +/ CX, JavaScript a C#.Shows how to use the Windows Runtime C++ Template Library to create an in-process DLL component and consume it from C++/CX, JavaScript, and C#.

Ukázka hry mramor bludiště DirectXDirectX marble maze game sample
Ukazuje, jak používat ke správě životnost COM – součásti například DirectX a Media Foundation v rámci dokončení 3D herní knihovna šablon C++ Runtime systému Windows.Demonstrates how to use the Windows Runtime C++ Template Library to manage the lifetime of COM components such as DirectX and Media Foundation in the context of a complete 3-D game.

Odesílání oznámení informační zprávy z ukázkové aplikace klasické pracovní plochySending toast notifications from desktop apps sample
Demonstruje použití knihovny šablon jazyka C++ Runtime Windows pro práci s informační zprávou oznámení z aplikace na ploše.Demonstrates how to use the Windows Runtime C++ Template Library to work with toast notifications from a desktop app.

Knihovna šablon C++ prostředí Windows Runtime ve srovnání s ATLWindows Runtime C++ Template Library Compared to ATL

Vzhledem k tomu slouží k vytvoření malého, rychlé objekty modelu COM se podobá knihovna šablon C++ prostředí Windows Runtime Active šablony Library (ATL).Windows Runtime C++ Template Library resembles the Active Template Library (ATL) because you can use it to create small, fast COM objects. Knihovna šablon C++ prostředí Windows Runtime a knihovna ATL také sdílet koncepty, jako je například definice objektů v modulech explicitní registrační rozhraní a otevřete vytváření objektů s použitím objektů Factory.Windows Runtime C++ Template Library and ATL also share concepts such as definition of objects in modules, explicit registration of interfaces, and open creation of objects by using factories. Knihovna šablon C++ prostředí Windows Runtime celý může být, pokud jste obeznámeni s ATL.You might be comfortable with Windows Runtime C++ Template Library if you're familiar with ATL.

Knihovna šablon C++ prostředí Windows Runtime podporuje funkci COM, která je požadována pro aplikace UWP.Windows Runtime C++ Template Library supports the COM functionality that is required for UWP apps. Proto se liší od knihovny ATL vzhledem k tomu vynechán přímé podpory pro funkce COM, jako:Therefore, it differs from the ATL because it omits direct support for COM features such as:

  • Agregaceaggregation

  • uložené implementacestock implementations

  • duální rozhraní (IDispatch)dual interfaces (IDispatch)

  • rozhraní pro standardní výčtystandard enumerator interfaces

  • body připojeníconnection points

  • Úplné vypnutí rozhranítear-off interfaces

  • Vložení OLEOLE embedding

  • ActiveX – ovládací prvkyActiveX controls

  • Model COM+COM+

KonceptyConcepts

Knihovna šablon C++ prostředí Windows Runtime obsahuje typy, které představují několik základní koncepty.Windows Runtime C++ Template Library provides types that represent a few basic concepts. Následující části popisují tyto typy.The following sections describe those types.

ComPtrComPtr

ComPtr je chytré ukazatele typ, který představuje rozhraní, která je zadána parametr šablony.ComPtr is a smart pointer type that represents the interface that's specified by the template parameter. Použití ComPtr deklarovat proměnnou a tu můžete přístup ke členům v objektu, který je odvozený z rozhraní.Use ComPtr to declare a variable that can access the members of an object that's derived from the interface. ComPtr automaticky udržuje počet odkazů pro základní ukazatel rozhraní a uvolní rozhraní, kdy přestane počet odkazů na nulu.ComPtr automatically maintains a reference count for the underlying interface pointer and releases the interface when the reference count goes to zero.

RuntimeClassRuntimeClass

RuntimeClass představuje instancí třídu, která dědí sada zadaný rozhraní.RuntimeClass represents an instantiated class that inherits a set of specified interfaces. A RuntimeClass objekt můžete poskytovat kombinaci podpory pro jeden nebo více rozhraní Windows Runtime COM nebo slabé odkaz na komponentu.A RuntimeClass object can provide a combination of support for one or more Windows Runtime COM interfaces, or a weak reference to a component.

ModulModule

Modul představuje kolekci související objekty.Module represents a collection of related objects. A Module spravuje objekt pro vytváření tříd, které pak vytvoří objekty a registrace, který umožňuje jiné aplikace použít objekt.A Module object manages class factories, which create objects, and registration, which enables other applications to use an object.

Zpětné voláníCallback

Zpětného volání funkce vytvoří objekt, jehož členská funkce je obslužné rutiny události (metody zpětného volání).The Callback function creates an object whose member function is an event handler (a callback method). Použití Callback funkce zápis asynchronní operace.Use the Callback function to write asynchronous operations.

EventSourceEventSource

EventSource slouží ke správě delegovat obslužné rutiny událostí.EventSource is used to manage delegate event handlers. Knihovna šablon C++ prostředí Windows Runtime použít k implementaci delegáta a použití EventSource Pokud chcete přidat, odebrat a vyvolání delegáti.Use Windows Runtime C++ Template Library to implement a delegate, and use EventSource to add, remove, and invoke delegates.

AsyncBaseAsyncBase

AsyncBase poskytuje virtuální metody, které představují asynchronní programovací model Windows Runtime.AsyncBase provides virtual methods that represent the Windows Runtime asynchronous programming model. Přepsání členů v této třídy pro vytvoření vlastní třídy, které můžete spustit, zastavit nebo průběh asynchronní operace.Override the members in this class to create a custom class that can start, stop, or check the progress of an asynchronous operation.

FtmBaseFtmBase

FtmBase představuje volné zařazování vláken objektu.FtmBase represents a free-threaded marshaler object. FtmBase vytvoří tabulku globální rozhraní (GIT) a pomáhá spravovat objekty zařazování a proxy serveru.FtmBase creates a global interface table (GIT), and helps manage marshaling and proxy objects.

WeakRefWeakRef

WeakRef je typ čipové ukazatele, který reprezentuje slabé odkaz, který odkazuje na objekt, který může nebo nemusí být dostupné.WeakRef is a smart-pointer type that represents a weak reference, which references an object that might or might not be accessible. A WeakRef objekt lze použít pouze prostředí Windows Runtime a ne klasického modelu COM.A WeakRef object can be used by only the Windows Runtime, and not by classic COM.

A WeakRef objekt obvykle představuje objekt, jehož existence řídí na externí vlákna nebo aplikaci.A WeakRef object typically represents an object whose existence is controlled by an external thread or application. Například WeakRef objekt může odkazovat na objekt souboru.For example, a WeakRef object can reference a file object. Když je soubor otevřený WeakRef je platný a je přístupný odkazovaný soubor.When the file is open, the WeakRef is valid and the referenced file is accessible. Ale při zavření souboru, WeakRef je neplatný a soubor není přístupný.But when the file is closed, the WeakRef is invalid and the file is not accessible.

Šablona projektu knihovny třídClass Library Project Template Popisuje, jak pro přístup k šabloně projektu knihovny tříd WRL.Describes how to access the WRL Class Library project template. Tato šablona pomáhá zjednodušit pomocí sady Visual Studio k vytvoření komponentů prostředí Windows Runtime.This template helps simplify the task of using Visual Studio to create Windows Runtime components.
Klíč rozhraní API podle kategorieKey APIs by Category Označuje primární typy knihovna šablon C++ prostředí Windows Runtime, funkcemi a makry.Highlights the primary Windows Runtime C++ Template Library types, functions, and macros.
Referenční informaceReference Obsahuje referenční informace pro knihovny šablon jazyka C++ Runtime systému Windows.Contains reference information for the Windows Runtime C++ Template Library.
Stručná referenční dokumentace (prostředí Windows Runtime a Visual C++)Quick Reference (Windows Runtime and Visual C++) Stručně popisuje C + +/ CX funkce, které podporují prostředí Windows Runtime.Briefly describes the C++/CX features that support the Windows Runtime.
Pomocí modulu Runtime součásti systému Windows v jazyce Visual C++Using Windows Runtime Components in Visual C++ Ukazuje, jak používat C + +/ CX pro vytvoření základní komponenty prostředí Windows Runtime.Shows how to use C++/CX to create a basic Windows Runtime component.