summaryrefslogtreecommitdiff
path: root/general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp
diff options
context:
space:
mode:
authorLuke <[email protected]>2017-11-21 17:50:07 -0800
committerLuke <[email protected]>2017-11-21 17:50:07 -0800
commit1a3e88d788fb533d8cbea006e6fb46ff3b16dcec (patch)
tree8f8d5bb04be9606b9644d60caeb55004036e24d1 /general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp
parented1df9a8b80b154b71b79635e40af75f4f19001c (diff)
Adding WinHEC Lab Content
Diffstat (limited to 'general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp')
-rw-r--r--general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp b/general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp
new file mode 100644
index 00000000..b300c4c0
--- /dev/null
+++ b/general/WinHEC 2017 Lab/Toaster Support App/App/CustomCapability/cpp/pch.cpp
@@ -0,0 +1,60 @@
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License (MIT).
+// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+//
+//*********************************************************
+
+//
+// pch.cpp
+// Include the standard header and generate the precompiled header.
+//
+
+#include "pch.h"
+#include "MainPage.xaml.h"
+
+#include <robuffer.h>
+#include <wrl\client.h>
+
+using namespace Microsoft::WRL;
+using namespace Windows::Storage::Streams;
+
+byte* GetArrayFromBuffer(Windows::Storage::Streams::IBuffer^ buffer)
+{
+ ComPtr<IInspectable> base = reinterpret_cast<IInspectable*>(buffer);
+ ComPtr<IBufferByteAccess> access;
+
+ auto hr = base.As(&access);
+
+ if (FAILED(hr))
+ {
+ throw Platform::Exception::CreateException(hr);
+ }
+
+ byte* data;
+
+ hr = access->Buffer(&data);
+
+ if (FAILED(hr))
+ {
+ throw Platform::Exception::CreateException(hr);
+ }
+
+ // The returned buffer is valid as long as the IBuffer passed in
+ // remains valid.
+ return data;
+}
+
+void NotifyStatusMessage(Platform::String^ message, SDKTemplate::NotifyType messageType)
+{
+ SDKTemplate::MainPage::Current->Dispatcher->RunAsync(
+ Windows::UI::Core::CoreDispatcherPriority::Normal,
+ ref new Windows::UI::Core::DispatchedHandler(
+ [message, messageType]() {
+ SDKTemplate::MainPage::Current->NotifyUser(message, messageType);
+ }));
+}