79 lines
2.5 KiB
C
79 lines
2.5 KiB
C
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved
|
|
|
|
#include "NetCostEventSink.h"
|
|
|
|
//
|
|
// Presents an interactive menu to the user and returns the user's choice
|
|
//
|
|
int GetUserChoice();
|
|
|
|
//
|
|
// Evaluates user input and takes the requested action
|
|
//Takes the user option choice as the input
|
|
//
|
|
void EvaluateUserChoice(_In_ int userchoice);
|
|
|
|
//
|
|
//Registers for machine cost change notifications, and waits for cost change events
|
|
//
|
|
void RegisterForMachineCostChangeNotifications();
|
|
|
|
//
|
|
//Registers for destination cost change notifications, and waits for cost change events
|
|
//
|
|
void RegisterForDestinationCostChangeNotifications();
|
|
|
|
//
|
|
//Registers for connection cost change notifications, and waits for cost change events
|
|
//
|
|
void RegisterForConnectionCostChangeNotifications();
|
|
|
|
//
|
|
//Gets machine cost and data plan status, and displays to the user, along with suggested appropriate actions based on the
|
|
//retrieved cost and data plan status values.
|
|
//
|
|
void GetMachineCostandDataPlanStatus();
|
|
|
|
//
|
|
//Gets destination based cost and data plan status, and displays to the user, along with suggested appropriate actions based on the
|
|
//retrieved cost and data plan status values.
|
|
//
|
|
void GetDestinationCostandDataPlanStatus();
|
|
|
|
//
|
|
//Gets connection cost and data plan status, and displays to the user, along with suggested appropriate actions based on the
|
|
//retrieved cost and data plan status values.
|
|
//
|
|
void GetConnectionCostandDataPlanStatus();
|
|
|
|
//
|
|
//Unregiser for machine wide notifications, and releases any handles used to release the memory
|
|
//
|
|
void UnRegisterForMachineCostChangeNotifications();
|
|
|
|
//
|
|
//Unregiser for destination based notifications, and releases any handles used to release the memory
|
|
//
|
|
void UnRegisterForDestinationCostChangeNotifications();
|
|
|
|
//
|
|
//Unregiser for connection cost notifications, and releases any handles used to release the memory
|
|
//
|
|
void UnRegisterForConnectionCostChangeNotifications();
|
|
|
|
//
|
|
// Description: Cancels registration for notifications, quits the thread and closes the thread handle
|
|
//
|
|
void FreeMemoryAndExit();
|
|
|
|
//
|
|
// Takes cost and data plan status as input, and suggests appropriate actions to the user based on the
|
|
// cost and data plan status values.
|
|
//
|
|
void CostBasedSuggestions(_In_ DWORD cost, _In_ const NLM_DATAPLAN_STATUS *pDataPlanStatus);
|