summaryrefslogtreecommitdiff
path: root/network/radio/RadioManagerSample
diff options
context:
space:
mode:
authorkarlf <[email protected]>2016-08-11 13:28:13 -0700
committerkarlf <[email protected]>2016-08-11 13:28:13 -0700
commit96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch)
treead5f3ede5cbcd6b598677ce41bcf8318471bdd92 /network/radio/RadioManagerSample
parent687b274aa38fd05c8c26e3068932121876d7f745 (diff)
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'network/radio/RadioManagerSample')
-rw-r--r--network/radio/RadioManagerSample/RadioManagerSample.sln18
-rw-r--r--network/radio/RadioManagerSample/cpp/SampleRM.vcxproj4
-rw-r--r--network/radio/RadioManagerSample/cpp/SampleRM.vcxproj.Filters6
-rw-r--r--network/radio/RadioManagerSample/readme.txt192
4 files changed, 14 insertions, 206 deletions
diff --git a/network/radio/RadioManagerSample/RadioManagerSample.sln b/network/radio/RadioManagerSample/RadioManagerSample.sln
index 37eb8bd0..8f24bfc5 100644
--- a/network/radio/RadioManagerSample/RadioManagerSample.sln
+++ b/network/radio/RadioManagerSample/RadioManagerSample.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0
MinimumVisualStudioVersion = 12.0
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleRM", "cpp\SampleRM.vcxproj", "{3A2C6344-A162-433C-B8DE-2282825DE084}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleRM", "cpp\SampleRM.vcxproj", "{1138E033-EEBF-4BA3-B74F-D51443EF5EE0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -13,14 +13,14 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Debug|Win32.ActiveCfg = Debug|Win32
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Debug|Win32.Build.0 = Debug|Win32
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Release|Win32.ActiveCfg = Release|Win32
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Release|Win32.Build.0 = Release|Win32
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Debug|x64.ActiveCfg = Debug|x64
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Debug|x64.Build.0 = Debug|x64
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Release|x64.ActiveCfg = Release|x64
- {3A2C6344-A162-433C-B8DE-2282825DE084}.Release|x64.Build.0 = Release|x64
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Debug|Win32.Build.0 = Debug|Win32
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Release|Win32.ActiveCfg = Release|Win32
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Release|Win32.Build.0 = Release|Win32
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Debug|x64.ActiveCfg = Debug|x64
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Debug|x64.Build.0 = Debug|x64
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Release|x64.ActiveCfg = Release|x64
+ {1138E033-EEBF-4BA3-B74F-D51443EF5EE0}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj b/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj
index 740c3399..0e5f41be 100644
--- a/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj
+++ b/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj
@@ -19,11 +19,11 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
- <ProjectGuid>{3A2C6344-A162-433C-B8DE-2282825DE084}</ProjectGuid>
+ <ProjectGuid>{1138E033-EEBF-4BA3-B74F-D51443EF5EE0}</ProjectGuid>
<RootNamespace>$(MSBuildProjectName)</RootNamespace>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
- <SampleGuid>{0029FEAE-6B50-419B-8919-DFCC68EE0819}</SampleGuid>
+ <SampleGuid>{249F8230-A77D-4B97-A61C-30A168C1C626}</SampleGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
diff --git a/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj.Filters b/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj.Filters
index 8393d394..7c12923f 100644
--- a/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj.Filters
+++ b/network/radio/RadioManagerSample/cpp/SampleRM.vcxproj.Filters
@@ -3,15 +3,15 @@
<ItemGroup>
<Filter Include="Source Files">
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions>
- <UniqueIdentifier>{6E87A5A2-6E58-40A3-8118-0E8CFBE8A8B4}</UniqueIdentifier>
+ <UniqueIdentifier>{5C7660B1-E831-4348-9962-44ACC9C075CA}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- <UniqueIdentifier>{BDDFBC01-9DDC-4697-AE54-4EA76DE17211}</UniqueIdentifier>
+ <UniqueIdentifier>{12369C10-A1CA-49F9-A620-5BB0B1DC9471}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions>
- <UniqueIdentifier>{FF6DC7A4-CA52-411E-A705-BB9DAEBFED69}</UniqueIdentifier>
+ <UniqueIdentifier>{459D1AE4-DF98-4AD0-80D3-AC9F5666BAC4}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
diff --git a/network/radio/RadioManagerSample/readme.txt b/network/radio/RadioManagerSample/readme.txt
deleted file mode 100644
index 2bdd69bd..00000000
--- a/network/radio/RadioManagerSample/readme.txt
+++ /dev/null
@@ -1,192 +0,0 @@
-Sample Radio Manager
-====================
-Demonstrates how to structure a Radio Manager for use with the Windows 8 Radio Management APIs.
-
-On Windows 8 and later, the operating system contains a set of APIs which are used as a software mechanism
-to control the various radios found on the machine. The APIs work by communicating with a Radio Manager,
-which is a COM object that relays commands from the APIs to turn the radio on or off, and reports back
-radio information to the APIs. This feature is designed in such a way that a separate Radio Manager is
-required for each radio media type. For example, a WLAN radio will be controlled by a different Radio
-Manager than a GPS radio. If there are 2 WLAN radios and a GPS radio, the 2 WLAN radios will be controlled
-by one Radio Manager, and the GPS radio will be controlled by a different Radio Manager. The Radio Manager
-must be able to run correctly within Local Service Account context. Under this context, the Radio Manager
-will have the minimum privilege on the local computer.
-
-When the user turns the radio off (either by using the specific radio software switch or the airplane mode switch),
-radio transmission must be turned off. The device can be powered off as long as the radio switch does not disappear
-from the UI. It is very important that the radio manager developer ensures that when the device is powered off, the
-radio switch does not disappear from the UI. If the radio switch disappears from the UI when the radio is turned off
-by the user, then user has no way to turn the radio back on! If it is desired to conserve power by cutting power to
-the device when the radio is turned off, but the device cannot be completely powered off because it disappears from
-the UI, then the solution would be to put the device in a low power state (e.g. D3).
-
-IMPORTANT! The radio manager must be given a name � this is the name of the radio switch that is displayed to the
-user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example,
-for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should
-be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's
-name or some other word related to the functionality of the radio (e.g. "Location" OR "port").
-
-
-
-Sample Language Implementations
-===============================
-This sample is available in the following language implementations:
- C++
-
-
-Installation Files
-==================
-install.cmd
-- Installation script. Copies and registers the dll and executes SampleRM.reg
-
-SampleRM.reg
-- script to install the Sample Radio Manager into the registry, along with 2 radio instances
-
-
-Source Files
-============
-SampleRM.sln
-- The Visual Studio 2010 solution file for building the Sample Radio Manager dll
-
-sampleRM.idl
-- The interface definition for the Sample Radio Manager
-
-RadioMgr.idl
-- The interface definition for a Windows Radio Manager
-
-SampleRadioManager.h
-- Header file for the functions required for a Radio Manager
-
-SampleRadioInstance.h
-- Header file for the functions required for a Radio Instance
-
-SampleInstanceCollection.h
-- Header file for the functions required for a Collection of Radio Instances
-
-precomp.h
-- Common header file
-
-InternalInterfaces.h
-- Header file for internal interface used for this sample
-
-dllmain.cpp
-- Standard dllmain
-
-SampleRadioManager.cpp
-- Implementation details for the Sample Radio Manager. Important concepts include:
- - Utilizing IMediaRadioManagerNotifySink for radio instance events
- - Adding/Removing radio instances
- - Queuing and deploying worker jobs for system events
-
-SampleRadioInstance.cpp
-- Implementation details for the Sample Radio Instance. Important concepts include:
- - Accessors & Modifiers for radio information
- - Instance change functions
-
-SampleInstanceCollection.cpp
-- Implementation details for the Sample Instance Collection. Important concepts include:
- - Radio Instance discovery and retrieval
-
-RadioMgr_interface.cpp
-- Helper source file to include the MIDL-generated files.
-
-
-How the sample works
-====================
-This sample Radio Manager does not operate on an actual radio. Instead, it uses registry keys to act as
-virtual radios. Each "radio" instance can have the following values:
- -Name
- -RadioState
- -PreviousRadioState
- -IsMultiComm
- -IsAssociatingDevice
-
-***It is required that the registry key has AT LEAST a Name value, otherwise the Sample Radio Manager will
-fail to initialize***
-
-IMPORTANT! The radio manager must be given a name � this is the name of the radio switch that is displayed to the
-user in the Wireless page of PC Settings. The name must be simple, yet descriptive of what the radio is. For example,
-for NFC radios, the value of the name field should be "NFC", and for GPS radios, the value of the name field should
-be "GPS" or "GNSS", whichever is more appropriate. The name must not include the word "radio" or the manufacturer's
-name or some other word related to the functionality of the radio (e.g. "Location" OR "port").
-
-
-When the Radio Manager is initialized, it uses these registry keys to retrieve the "radio" information.
-The radio state values can be any of the following enum values:
-
- typedef enum _DEVICE_RADIO_STATE
- {
- DRS_RADIO_ON = 0,
- DRS_SW_RADIO_OFF = 1,
- DRS_HW_RADIO_OFF = 2,
- DRS_SW_HW_RADIO_OFF = 3,
- DRS_HW_RADIO_ON_UNCONTROLLABLE = 4,
- DRS_RADIO_INVALID = 5,
- DRS_HW_RADIO_OFF_UNCONTROLLABLE = 6,
- DRS_RADIO_MAX = DRS_HW_RADIO_OFF_UNCONTROLLABLE
- } DEVICE_RADIO_STATE;
-
-For IsMultiComm and IsAssociatingDevice, a value of 0 means 'no' and 1 means 'yes.
-
-
-To Add a Radio Instance
-=======================
-Add a new item to the registry:
-[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\SampleRadioManager\SampleRadioX]
-"RadioState"=dword:00000000
-"Name"="SampleRadioX"
-"IsMultiComm"=dword:00000000
-
-To Edit a Radio Instance
-========================
-Simply change the values in the registry. For example, change the radio state from DRS_RADIO_ON to DRS_SW_RADIO_OFF
-by changing the 'RadioState' value from 0 to 1.
-
-
-To Remove a Radio Instance
-==========================
-Delete the corresponding registry key.
-
-
-Prerequisites for viewing and building solution
-===============================================
-1. Windows 7
-2. Visual Studio 2010
-
-
-To build the sample using Visual Studio 2010 (preferred method):
-===============================================================
-1. Open File Explorer and navigate to the directory.
-2. Double-click the icon for the SampleRM.sln (solution) file to open the file in Visual Studio.
-3. In the Build menu, select Build Solution. The dll will be built in the default \Debug or \Release directory
-
-
-Prerequisites for installing Radio Manager
-==========================================
-1. Windows 8
-2. The VC++ 2010 Redistributable package must be installed for this dll to load.
-
-
-Installing Radio Manager
-========================
-1. Copy the install.cmd, SampleRM.reg and SampleRM.dll files to a directory
-2. Run install.cmd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-