You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/windows/codesnippet/CSharp/walkthrough-creating-a-windows-store-app-using-wrl-and-media-foundation_8.cs
Copy file name to clipboardExpand all lines: docs/windows/walkthrough-creating-a-windows-store-app-using-wrl-and-media-foundation.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ This example creates a custom Media Foundation transform that applies a grayscal
19
19
> [!NOTE]
20
20
> Instead of C#, you can also use JavaScript, Visual Basic, or C++ to consume the custom transform component.
21
21
22
-
In most cases, you can use C++/CX to create Windows Runtime). However, sometimes you have to use the WRL. For example, when you create a media extension for Microsoft Media Foundation, you must create a component that implements both COM and Windows Runtime interfaces. Because C++/CX can only create Windows Runtime objects, to create a media extension you must use the WRL because it enables the implementation of both COM and Windows Runtime interfaces.
22
+
In most cases, you can use C++/CX to create Windows Runtime. However, sometimes you have to use the WRL. For example, when you create a media extension for Microsoft Media Foundation, you must create a component that implements both COM and Windows Runtime interfaces. Because C++/CX can only create Windows Runtime objects, to create a media extension you must use the WRL because it enables the implementation of both COM and Windows Runtime interfaces.
23
23
24
24
> [!NOTE]
25
25
> Although this code example is long, it demonstrates the minimum that's required to create a useful Media Foundation transform. You can use it as a starting point for your own custom transform. This example is adapted from the [Media extensions sample](http://code.msdn.microsoft.com/windowsapps/Media-extensions-sample-7b466096), which uses media extensions to apply effects to video, decode video, and create scheme handlers that produce media streams.
@@ -42,7 +42,7 @@ In most cases, you can use C++/CX to create Windows Runtime). However, sometimes
42
42
43
43
- The [InspectableClass](../windows/inspectableclass-macro.md) macro implements basic COM functionality such as reference counting and the `QueryInterface` method, and sets the runtime class name and trust level.
44
44
45
-
- Use the Microsoft::WRL::[Module class](https://www.microsoftonedoc.com/#/organizations/e6f6a65cf14f462597b64ac058dbe1d0/projects/3fedad16-eaf1-41a6-8f96-0c1949c68f32/containers/a3daf831-1c5f-4bbe-964d-503870caf874/tocpaths/b4acf5de-2f4c-4c8b-b5ff-9140d023ecbe/locales/en-US) to implement DLL entry-point functions such as [DllGetActivationFactory](https://msdn.microsoft.com/library/br205771.aspx), [DllCanUnloadNow](/windows/desktop/api/combaseapi/nf-combaseapi-dllcanunloadnow), and [DllGetClassObject](/windows/desktop/api/combaseapi/nf-combaseapi-dllgetclassobject).
45
+
- Use the Microsoft::WRL::[Module class](https://www.microsoftonedoc.com/#/organizations/e6f6a65cf14f462597b64ac058dbe1d0/projects/3fedad16-eaf1-41a6-8f96-0c1949c68f32/containers/a3daf831-1c5f-4bbe-964d-503870caf874/tocpaths/b4acf5de-2f4c-4c8b-b5ff-9140d023ecbe) to implement DLL entry-point functions such as [DllGetActivationFactory](https://msdn.microsoft.com/library/br205771.aspx), [DllCanUnloadNow](/windows/desktop/api/combaseapi/nf-combaseapi-dllcanunloadnow), and [DllGetClassObject](/windows/desktop/api/combaseapi/nf-combaseapi-dllgetclassobject).
46
46
47
47
- Link your component DLL to runtimeobject.lib. Also specify [/WINMD](../cppcx/compiler-and-linker-options-c-cx.md) on the linker line to generate Windows metadata.
48
48
@@ -52,29 +52,29 @@ In most cases, you can use C++/CX to create Windows Runtime). However, sometimes
52
52
53
53
1. In Visual Studio, create a **Blank Solution** project. Name the project, for example, *MediaCapture*.
54
54
55
-
2. Add a **DLL (Universal Windows)** project to the solution. Name the project, for example, *GrayscaleTransform*.
55
+
1. Add a **DLL (Universal Windows)** project to the solution. Name the project, for example, *GrayscaleTransform*.
56
56
57
-
3. Add a **Midl File (.idl)** file to the project. Name the file, for example, *GrayscaleTransform.idl*.
57
+
1. Add a **Midl File (.idl)** file to the project. Name the file, for example, *GrayscaleTransform.idl*.
11. In the project’s **Property Pages** dialog box, set the following **Linker** properties.
90
+
1. In the project’s **Property Pages** dialog box, set the following **Linker** properties.
91
91
92
92
1. Under **Input**, for the **Module Definition File**, specify `GrayScaleTransform.def`.
93
93
94
-
2. Also under **Input**, add `runtimeobject.lib`, `mfuuid.lib`, and `mfplat.lib` to the **Additional Dependencies** property.
94
+
1. Also under **Input**, add `runtimeobject.lib`, `mfuuid.lib`, and `mfplat.lib` to the **Additional Dependencies** property.
95
95
96
-
3. Under **Windows Metadata**, set **Generate Windows Metadata** to **Yes (/WINMD)**.
96
+
1. Under **Windows Metadata**, set **Generate Windows Metadata** to **Yes (/WINMD)**.
97
97
98
98
### To use the WRL the custom Media Foundation component from a C# app
99
99
100
-
1. Add a new **C# Blank App (XAML)** project to the `MediaCapture` solution. Name the project, for example, *MediaCapture*.
100
+
1. Add a new **C# Blank App (Universal Windows)** project to the `MediaCapture` solution. Name the project, for example, *MediaCapture*.
101
101
102
-
2. In the **MediaCapture** project, add a reference to the `GrayscaleTransform` project. To learn how, see [How to: Add or Remove References By Using the Reference Manager](/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager).
102
+
1. In the **MediaCapture** project, add a reference to the `GrayscaleTransform` project. To learn how, see [How to: Add or Remove References By Using the Reference Manager](/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager).
103
103
104
-
3. In `Package.appxmanifest`, on the **Capabilities** tab, select **Microphone** and **Webcam**. Both capabilities are required to capture photos from the webcam.
104
+
1. In `Package.appxmanifest`, on the **Capabilities** tab, select **Microphone** and **Webcam**. Both capabilities are required to capture photos from the webcam.
105
105
106
-
4. In `MainPage.xaml`, add this code to the root [Grid](https://msdn.microsoft.com/library/windows/apps/xaml/windows.ui.xaml.controls.grid.aspx) element:
106
+
1. In `MainPage.xaml`, add this code to the root [Grid](https://msdn.microsoft.com/library/windows/apps/xaml/windows.ui.xaml.controls.grid.aspx) element:
0 commit comments