reactos/dll/shellext/netshell/lanconnectui.h

70 lines
2.5 KiB
C
Raw Normal View History

2018-11-12 11:23:38 +00:00
/// CLASSID
/// {7007ACC5-3202-11D1-AAD2-00805FC1270E}
/// open network properties and wlan properties
typedef enum
{
NET_TYPE_CLIENT = 1,
NET_TYPE_SERVICE = 2,
NET_TYPE_PROTOCOL = 3
} NET_TYPE;
typedef struct
{
NET_TYPE Type;
DWORD dwCharacteristics;
LPWSTR szHelp;
INetCfgComponent *pNCfgComp;
UINT NumPropDialogOpen;
} NET_ITEM, *PNET_ITEM;
class CNetConnectionPropertyUi:
public CComCoClass<CNetConnectionPropertyUi, &CLSID_LanConnectionUi>,
public CComObjectRootEx<CComMultiThreadModelNoCS>,
public INetConnectionConnectUi,
public INetConnectionPropertyUi2,
public INetLanConnectionUiInfo
{
public:
CNetConnectionPropertyUi();
~CNetConnectionPropertyUi();
// INetConnectionPropertyUi2
virtual HRESULT WINAPI AddPages(HWND hwndParent, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam);
virtual HRESULT WINAPI GetIcon(DWORD dwSize, HICON *phIcon);
// INetLanConnectionUiInfo
virtual HRESULT WINAPI GetDeviceGuid(GUID *pGuid);
// INetConnectionConnectUi
virtual HRESULT WINAPI SetConnection(INetConnection* pCon);
virtual HRESULT WINAPI Connect(HWND hwndParent, DWORD dwFlags);
virtual HRESULT WINAPI Disconnect(HWND hwndParent, DWORD dwFlags);
private:
BOOL GetINetCfgComponent(INetCfg *pNCfg, INetCfgComponent ** pOut);
VOID EnumComponents(HWND hDlgCtrl, INetCfg *pNCfg, const GUID *CompGuid, UINT Type);
VOID InitializeLANPropertiesUIDlg(HWND hwndDlg);
VOID ShowNetworkComponentProperties(HWND hwndDlg);
[0.4.11][NETSHELL] Double-click and mostly RC-improvements 0.4.15-dev-7606-g 874b5a4e00872bb6ba0c9d4ce695290dfe7e552a [NETSHELL] Trivial tweaks (#6484) 0.4.15-dev-7126-g a6341b49d866b037ad5bc1f6e6eb7bc641dec474 [NETSHELL] 640x480-ify complete that module (#6109) 0.4.15-dev-7018-g cbc60aa07a024f77f543f813b0c648688050c3a6 [NETSHELL] Double click on component should open properties (#6008) CORE-19330 PARTIALLY 0.4.15-dev-6857-g 55563fa891475a70026b97b48258175907d797f2 [NETSHELL] IDD_NETPROPERTIES must fit 640x480 CORE-19284 (#5899) (I left out the 3 accelerators) Also port back some other rc tweaks and strip EOL-whitespaces and the IDS_NET_REPAIR from the context menu which is still unimplemented in the older branches and for which I do never intend to port back the implementation. binary size of netshell.dll shrinks slightly on all branches: master RosBEWin2.2.2 GCC8.4.0 dbg x86 659.968 (0.4.15-dev-7598-geb55d98) releases/0.4.14 RosBEWin2.2.2 GCC8.4.0 dbg x86 644.608 -> 640.512 (netshell.dll is one of the rare modules where GCC8.4.0 produces more efficient output than GCC4.7.2) releases/0.4.14 RosBEWin2.1.6 GCC4.7.2 dbg x86 687.104 -> 682.496 releases/0.4.13 RosBEWin2.1.6 GCC4.7.2 dbg x86 685.568 -> 681.472 releases/0.4.12 RosBEWin2.1.6 GCC4.7.2 dbg x86 666.624 -> 662.016 releases/0.4.11 RosBEWin2.1.6 GCC4.7.2 dbg x86 657.408 -> 653.312 releases/0.4.10 RosBEWin2.1.6 GCC4.7.2 dbg x86 576.512 -> 572.928 releases/0.4. 9 RosBEWin2.1.6 GCC4.7.2 dbg x86 576.512 -> 572.416 releases/0.4. 8 RosBEWin2.1.6 GCC4.7.2 dbg x86 576.512 -> 572.416 releases/0.4. 7 RosBEWin2.1.6 GCC4.7.2 dbg x86 576.000 -> 571.904
2024-02-11 22:32:02 +00:00
BOOL GetDeviceInstanceID(OUT LPOLESTR *DeviceInstanceID);
2018-11-12 11:23:38 +00:00
static INT_PTR CALLBACK LANPropertiesUIDlg(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
CComPtr<INetConnection> m_pCon;
CComPtr<INetCfgLock> m_NCfgLock;
CComPtr<INetCfg> m_pNCfg;
2018-11-12 11:23:38 +00:00
NETCON_PROPERTIES * m_pProperties;
public:
DECLARE_NO_REGISTRY()
DECLARE_NOT_AGGREGATABLE(CNetConnectionPropertyUi)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CNetConnectionPropertyUi)
COM_INTERFACE_ENTRY_IID(IID_INetConnectionConnectUi, INetConnectionConnectUi)
COM_INTERFACE_ENTRY_IID(IID_INetConnectionPropertyUi, INetConnectionPropertyUi2)
COM_INTERFACE_ENTRY_IID(IID_INetConnectionPropertyUi2, INetConnectionPropertyUi2)
COM_INTERFACE_ENTRY_IID(IID_INetLanConnectionUiInfo, INetLanConnectionUiInfo)
END_COM_MAP()
};