diff options
| author | Adam Shapiro <[email protected]> | 2016-02-04 12:57:08 -0800 |
|---|---|---|
| committer | Adam Shapiro <[email protected]> | 2016-02-04 12:57:08 -0800 |
| commit | 921231effe018f3939f5b67fc7e44560aa6f3998 (patch) | |
| tree | 8b9b459a02222a9ce98a89bd6956eb8beb2757d9 /network/wlan/ihvsampleui/IHVSampleExtUISec.cpp | |
| parent | c4ba9c629505328d040d318a6193b966d7dbc800 (diff) | |
Moved Native WIFI IHV Service Sample
Moves sample to unique folder, in order to add another WIFI sample
GitHub repository
Diffstat (limited to 'network/wlan/ihvsampleui/IHVSampleExtUISec.cpp')
| -rw-r--r-- | network/wlan/ihvsampleui/IHVSampleExtUISec.cpp | 434 |
1 files changed, 0 insertions, 434 deletions
diff --git a/network/wlan/ihvsampleui/IHVSampleExtUISec.cpp b/network/wlan/ihvsampleui/IHVSampleExtUISec.cpp deleted file mode 100644 index 1cfa3714..00000000 --- a/network/wlan/ihvsampleui/IHVSampleExtUISec.cpp +++ /dev/null @@ -1,434 +0,0 @@ -// -// Copyright (C) Microsoft Corporation 2005 -// IHV UI Extension sample -// - -#include "precomp.h" - -extern HINSTANCE g_hInst; - -// used by the con prop extensions -CIhvSecurityProfile* pIhvSecProfile; - -CDot11SampleExtUISecProperty::CDot11SampleExtUISecProperty(): - m_crefCount(0), m_fInitialized(false), - m_ExtType(DOT11_EXT_UI_SECURITY), m_fModified(FALSE), - m_IhvSecurityType(IHVSecurityInvalid) -{ - m_bstrFN = NULL; - InterlockedIncrement(&g_objRefCount); -} - -CDot11SampleExtUISecProperty::~CDot11SampleExtUISecProperty() -{ - SysFreeString(m_bstrFN); - InterlockedDecrement(&g_objRefCount); -} - - -STDMETHODIMP -CDot11SampleExtUISecProperty::GetDot11ExtUIPropertyFriendlyName(BSTR* bstrPropertyName) -{ - HRESULT hr = E_INVALIDARG; - if (false == m_fInitialized) - { - return hr; - } - - if (NULL != bstrPropertyName) - { - *bstrPropertyName = SysAllocString(m_bstrFN); - hr = S_OK; - } - - return hr; -} - -//Used to extend property -STDMETHODIMP -CDot11SampleExtUISecProperty::DisplayDot11ExtUIProperty( - HWND hParent, // Parent Window Handle - BSTR bstrIHVProfile, // IHV data from the profile - PDOT11EXT_IHV_PARAMS pIHVParams, // Select profile MS security settings - BSTR* bstrModifiedIHVProfile, // modified IHV data to be stored in the profile - BOOL* pbIsModified // flag to denote if profile was modified - ) -{ - HRESULT hr = S_OK; - - UNREFERENCED_PARAMETER(pIHVParams); - - if (!m_fInitialized) - { - hr = E_INVALIDARG; - goto error; - } - - // Store the passed-in string in a member variable so dialog box can display it - pIhvSecProfile = new(std::nothrow) CIhvSecurityProfile(); - if (pIhvSecProfile == NULL) - { - hr = E_OUTOFMEMORY; - goto error; - } - pIhvSecProfile->LoadXml(bstrIHVProfile); - m_fModified = FALSE; - - // Dialog will store the string in a member variable - DialogBoxParam( - g_hInst, - MAKEINTRESOURCE(IDD_PROPPAGE_SMALL), - hParent, - SimpleDialogProcSec, - (LPARAM)pIhvSecProfile - ); - - m_fModified = pIhvSecProfile->GetModified(); - - if (NULL != bstrModifiedIHVProfile) - { - if (m_fModified) - { - pIhvSecProfile->EmitXml(bstrModifiedIHVProfile); - } - } - - if (NULL != pbIsModified) - { - *pbIsModified = m_fModified; - } - -error: - if(pIhvSecProfile) - { - delete pIhvSecProfile; - pIhvSecProfile = NULL; - } - - return hr; -} - - -//Used to get the currently chosen entry to display as selected in the dropdown list -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertyGetSelected( - BSTR bstrIHVProfile, // IHV data from the profile - PDOT11EXT_IHV_PARAMS pIHVParams, // Select profile MS security settings - BOOL* pfIsSelected // flag denoting if this is the selected profile - ) -{ - HRESULT hr = S_OK; - IHV_SECURITY_TYPE currentSecurityType = IHVSecurityInvalid; - - UNREFERENCED_PARAMETER(pIHVParams); - - if(pfIsSelected == NULL) - { - hr = E_INVALIDARG; - goto error; - } - - *pfIsSelected = FALSE; - - pIhvSecProfile = new(std::nothrow) CIhvSecurityProfile(); - if (pIhvSecProfile == NULL) - { - hr = E_OUTOFMEMORY; - goto error; - } - - pIhvSecProfile->LoadXml(bstrIHVProfile); - - hr = pIhvSecProfile->GetSecurityType(¤tSecurityType); - if(FAILED(hr)) - { - hr = S_OK; - if(IHVSecurityV1 == m_IhvSecurityType) - { - *pfIsSelected = TRUE; - } - } - else if(currentSecurityType == m_IhvSecurityType) - { - *pfIsSelected = TRUE; - } - -error: - if(pIhvSecProfile != NULL) - { - delete pIhvSecProfile; - pIhvSecProfile = NULL; - } - return hr; -} - -//Used to set the current entry as chosen from the dropdown list -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertySetSelected( - BSTR bstrIHVProfile, // IHV data from the profile - PDOT11EXT_IHV_PARAMS pIHVParams, // Select profile MS security settings - BSTR* bstrModifiedIHVProfile, // modified IHV data to be stored in the profile - BOOL* pbIsModified // flag to denote if profile was modified - ) -{ - HRESULT hr = S_OK; - - UNREFERENCED_PARAMETER(pIHVParams); - - if(bstrModifiedIHVProfile == NULL || pbIsModified == NULL) - { - hr = E_INVALIDARG; - goto error; - } - - pIhvSecProfile = new(std::nothrow) CIhvSecurityProfile(); - if (pIhvSecProfile == NULL) - { - hr = E_OUTOFMEMORY; - goto error; - } - - pIhvSecProfile->LoadXml(bstrIHVProfile); - - pIhvSecProfile->SetSecurityType(m_IhvSecurityType); - pIhvSecProfile->SetFullSecurityFlag(TRUE); - - pIhvSecProfile->EmitXml(bstrModifiedIHVProfile ); - *pbIsModified = pIhvSecProfile->GetModified(); - -error: - if(pIhvSecProfile != NULL) - { - delete pIhvSecProfile; - pIhvSecProfile = NULL; - } - return hr; -} - - -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertyHasConfigurationUI( - BOOL *fHasConfigurationUI) -{ - // this page always wants to show a config UI - *fHasConfigurationUI = TRUE; - return S_OK; -} - -//Used to get additional display data (ciphers for auth types) -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertyGetDisplayInfo( - DOT11_EXT_UI_DISPLAY_INFO_TYPE dot11ExtUIDisplayInfoType, // the diapaly type to be described - BSTR bstrIHVProfile, // IHV data from the profile - PDOT11EXT_IHV_PARAMS pIHVParams, // Select profile MS security settings - ULONG *pcEntries, // number of dependent strings - ULONG *puDefaultSelection, // the entry in the array to be selected by default - DOT11_EXT_UI_PROPERTY_DISPLAY_INFO **ppDot11ExtUIProperty // array of returned info structure - ) -{ - HRESULT hr = S_OK; - DWORD i = 0; - CIhvSecurityProfile IhvSecurityProfile; - IHV_CIPHER_TYPE cipherType = IHVCipherInvalid; - - UNREFERENCED_PARAMETER(pIHVParams); - - if(dot11ExtUIDisplayInfoType != DOT11_EXT_UI_DISPLAY_INFO_CIPHER) - { - hr = E_NOTIMPL; - goto error; - } - - IhvSecurityProfile.LoadXml(bstrIHVProfile); - hr = IhvSecurityProfile.GetCipherType(&cipherType); - if(FAILED(hr)) - { - goto error; - } - - for(i = 0; i < PROP_COUNT_SEC_CIPHERS; ++i) - { - ciphersInfoArray[m_IhvSecurityType][i].dwDataKey = i; - ciphersInfoArray[m_IhvSecurityType][i].dot11ExtUIDisplayInfoType = DOT11_EXT_UI_DISPLAY_INFO_CIPHER; - ciphersInfoArray[m_IhvSecurityType][i].bstrDisplayText = SysAllocString(g_IHVCipherFriendlyName[i]); - } - - // for the given auth type we want to return the list of compatible ciphers - *ppDot11ExtUIProperty = ciphersInfoArray[m_IhvSecurityType]; - *pcEntries = PROP_COUNT_SEC_CIPHERS; - *puDefaultSelection = cipherType >= IHVCipherInvalid ? 0 : cipherType; - -error: - return hr; -} - -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertySetDisplayInfo( - DOT11_EXT_UI_DISPLAY_INFO_TYPE dot11ExtUIDisplayInfoType, // the diapaly type to be modified - BSTR bstrIHVProfile, // IHV data from the profile - PDOT11EXT_IHV_PARAMS pIHVParams, // Select profile MS security settings - DOT11_EXT_UI_PROPERTY_DISPLAY_INFO *pDot11ExtUIProperty, // selected info structure - BSTR* bstrModifiedIHVProfile, // modified IHV data to be stored in the profile - BOOL* pbIsModified // flag to denote if profile was modified - ) -{ - HRESULT hr = S_OK; - - UNREFERENCED_PARAMETER(pIHVParams); - - CIhvSecurityProfile IhvSecurityProfile; - - if(dot11ExtUIDisplayInfoType != DOT11_EXT_UI_DISPLAY_INFO_CIPHER) - { - hr = E_NOTIMPL; - goto error; - } - - if(pDot11ExtUIProperty == NULL) - { - hr = E_INVALIDARG; - goto error; - } - - hr = IhvSecurityProfile.LoadXml(bstrIHVProfile); - if(FAILED(hr)) - { - goto error; - } - hr = IhvSecurityProfile.SetCipherType((IHV_CIPHER_TYPE)pDot11ExtUIProperty->dwDataKey); - if(FAILED(hr)) - { - goto error; - } - - hr = IhvSecurityProfile.EmitXml(bstrModifiedIHVProfile); - *pbIsModified = IhvSecurityProfile.GetModified(); - -error: - return hr; -} - -STDMETHODIMP -CDot11SampleExtUISecProperty::Dot11ExtUIPropertyIsStandardSecurity( - BOOL *fIsStandardSecurity, // if this interface is a standard auth method - DOT11_EXT_UI_SECURITY_TYPE *dot11ExtUISecurityType // which of the standard auth methods it is - ) -{ - UNREFERENCED_PARAMETER(dot11ExtUISecurityType); - *fIsStandardSecurity = FALSE; - return S_OK; -} - -STDMETHODIMP -CDot11SampleExtUISecProperty::Initialize(BSTR bstrPropertyName, DWORD dwIhvSecurity) -{ - HRESULT hr = E_INVALIDARG; - if (false == m_fInitialized) - { - // Set the FriendlyName - m_bstrFN = SysAllocString(bstrPropertyName); - m_IhvSecurityType = (IHV_SECURITY_TYPE)dwIhvSecurity; - m_fInitialized = true; - hr = S_OK; - } - return hr; -} - -INT_PTR CALLBACK -SimpleDialogProcSec( - HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam -) -{ - BOOL fRetVal = FALSE; - WCHAR szBuf[256] = {0}; - DWORD dwValue = 0; - BSTR bstrText = NULL; - - UNREFERENCED_PARAMETER(lParam); - - if(!pIhvSecProfile) - { - goto error; - } - - switch(uMsg) - { - case WM_INITDIALOG: - { - // Dialog title - WCHAR strDialogTitle[MAX_PATH] = {0}; - (VOID)::LoadString( - g_hInst, - IDS_IHV_DEFAULT_SEC_TITLE, - strDialogTitle, - MAX_PATH - ); - - SetWindowText(hwndDlg, strDialogTitle); - } - - // check the checkbox if needed - if(FAILED(pIhvSecProfile->GetParamDWORD(&dwValue))) - { - dwValue = 0; - } - ::SendMessage( - GetDlgItem(hwndDlg, IDC_USE_FASTHANDOFF), - BM_SETCHECK, - (WPARAM)(int)dwValue, - 0L - ); - - // Set text in the textbox - if(FAILED(pIhvSecProfile->GetParamBSTR(&bstrText))) - { - bstrText = NULL; - } - SetWindowText(GetDlgItem(hwndDlg, IDC_PARAM_BOX), bstrText); - - fRetVal = TRUE; - break; - - case WM_COMMAND: - switch (LOWORD(wParam)) - { - case ID_OK: - GetWindowText(GetDlgItem(hwndDlg, IDC_PARAM_BOX), szBuf, 255); - if(szBuf) - { - DWORD dwNewValue = 0; - - // get the button state and record it - dwNewValue = (int)::SendMessage( - GetDlgItem(hwndDlg, IDC_USE_FASTHANDOFF), - BM_GETCHECK, - 0L, - 0L - ); - - pIhvSecProfile->SetParamDWORD(dwNewValue); - pIhvSecProfile->SetParamBSTR(szBuf); - pIhvSecProfile->SetFullSecurityFlag(TRUE); - - // Notify the owner window to carry out the task. - EndDialog(hwndDlg, 1); - fRetVal = TRUE; - } - break; - - case ID_CANCEL: - EndDialog(hwndDlg, 0); - fRetVal = TRUE; - break; - } - break; - } - -error: - return fRetVal; -} - - |
