VOID ShowStatusPropertyDialog( LANSTATUSUI_CONTEXT *pContext, HWND hwndDlg) { HPROPSHEETPAGE hppages[2]; PROPSHEETHEADERW pinfo; NETCON_PROPERTIES * pProperties = NULL; ZeroMemory(&pinfo, sizeof(PROPSHEETHEADERW)); ZeroMemory(hppages, sizeof(hppages)); pinfo.dwSize = sizeof(PROPSHEETHEADERW); pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_PROPTITLE | PSH_NOAPPLYNOW; pinfo.phpage = hppages; pinfo.hwndParent = hwndDlg; if (pContext->pNet->GetProperties(&pProperties) == S_OK) { if (pProperties->pszwName) { pinfo.pszCaption = pProperties->pszwName; pinfo.dwFlags |= PSH_PROPTITLE; } InitializePropertyDialog(pContext, pProperties); if (pProperties->MediaType == NCM_LAN && pProperties->Status == NCS_CONNECTED) { hppages[0] = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_LAN_NETSTATUS), LANStatusUiDlg, (LPARAM)pContext, NULL); if (hppages[0]) pinfo.nPages++; hppages[pinfo.nPages] = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_LAN_NETSTATUSADVANCED), LANStatusUiAdvancedDlg, (LPARAM)pContext, NULL); if (hppages[pinfo.nPages]) pinfo.nPages++; if (pinfo.nPages) { PropertySheetW(&pinfo); } } else if (pProperties->Status == NCS_MEDIA_DISCONNECTED || pProperties->Status == NCS_DISCONNECTED || pProperties->Status == NCS_HARDWARE_DISABLED) { ShowNetConnectionProperties(pContext->pNet, pContext->hwndDlg); } NcFreeNetconProperties(pProperties); } }
static HRESULT WINAPI INetConnectionPropertyUi2_fnAddPages( INetConnectionPropertyUi2 * iface, HWND hwndParent, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam) { HPROPSHEETPAGE hProp; BOOL ret; HRESULT hr = E_FAIL; INITCOMMONCONTROLSEX initEx; INetConnectionPropertyUiImpl * This = (INetConnectionPropertyUiImpl*)iface; initEx.dwSize = sizeof(initEx); initEx.dwICC = ICC_LISTVIEW_CLASSES; if(!InitCommonControlsEx(&initEx)) return E_FAIL; hr = INetConnection_GetProperties(This->pCon, &This->pProperties); if (FAILED(hr)) return hr; hProp = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_NETPROPERTIES), LANPropertiesUIDlg, (LPARAM)This, This->pProperties->pszwName); if (hProp) { ret = (*pfnAddPage)(hProp, lParam); if (ret) { hr = NOERROR; } else { DestroyPropertySheetPage(hProp); } } return hr; }