summaryrefslogtreecommitdiff
path: root/network/config/bindview/BINDVIEW.H
diff options
context:
space:
mode:
Diffstat (limited to 'network/config/bindview/BINDVIEW.H')
-rw-r--r--network/config/bindview/BINDVIEW.H250
1 files changed, 250 insertions, 0 deletions
diff --git a/network/config/bindview/BINDVIEW.H b/network/config/bindview/BINDVIEW.H
new file mode 100644
index 00000000..2753b753
--- /dev/null
+++ b/network/config/bindview/BINDVIEW.H
@@ -0,0 +1,250 @@
+//+---------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 2001.
+//
+// File: B I N D V I E W . H
+//
+// Contents: Function Prototypes
+//
+// Notes:
+//
+// Author: Alok Sinha 15-May-01
+//
+//----------------------------------------------------------------------------
+
+#ifndef _BINDVIEW_H_INCLUDED
+
+#define _BINDVIEW_H_INCLUDED
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <windows.h>
+#include <windowsx.h>
+#include <wchar.h>
+#include <commctrl.h> // For common controls, e.g. Tree
+#include <commdlg.h>
+#include <setupapi.h>
+#include <devguid.h>
+
+#include "NetCfgAPI.h"
+#include "resource.h"
+#include <strsafe.h>
+
+__user_code; // Annotation to specify PreFast analysis mode
+
+#define celems(_x) (sizeof(_x) / sizeof(_x[0]))
+
+#define ID_STATUS 100
+#define APP_NAME L"BindView"
+
+#define CLIENTS_SELECTED 0
+#define SERVICES_SELECTED 1
+#define PROTOCOLS_SELECTED 2
+#define ADAPTERS_SELECTED 3
+
+#define ITEM_NET_COMPONENTS 1
+#define ITEM_NET_BINDINGS 2
+#define ITEM_NET_ADAPTERS 4
+
+#define DEFAULT_COMPONENT_SELECTED CLIENTS_SELECTED
+
+#define WM_NO_COMPONENTS WM_USER+1
+
+#define MENUITEM_ENABLE L"Enable"
+#define MENUITEM_DISABLE L"Disable"
+
+extern HINSTANCE hInstance;
+extern const GUID *pguidNetClass [];
+extern LPWSTR lpszNetClass [];
+
+typedef struct _BIND_UNBIND_INFO {
+ LPWSTR lpszInfId;
+ BOOL fBindTo;
+} BIND_UNBIND_INFO, *LPBIND_UNBIND_INFO;
+
+//
+// Functions defined in bindview.cpp
+//
+
+INT_PTR CALLBACK MainDlgProc (HWND hwndDlg,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+INT_PTR CALLBACK BindComponentDlg (HWND hwndDlg,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+INT_PTR CALLBACK InstallDlg (HWND hwndDlg,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+INT_PTR CALLBACK UninstallDlg (HWND hwndDlg,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+VOID DumpBindings ( _In_ LPWSTR lpszFile);
+
+VOID InstallSelectedComponentType (HWND hwndDlg,
+ _In_opt_ LPWSTR lpszInfFile);
+
+HRESULT GetPnpID ( _In_ LPWSTR lpszInfFile,
+ _Outptr_ LPWSTR *lppszPnpID);
+
+HRESULT GetKeyValue (HINF hInf,
+ _In_ LPCWSTR lpszSection,
+ _In_opt_ LPCWSTR lpszKey,
+ DWORD dwIndex,
+ _Outptr_ LPWSTR *lppszValue);
+
+VOID UninstallSelectedComponent (HWND hwndDlg);
+
+VOID ExpandCollapseAll (HWND hwndTree,
+ HTREEITEM hTreeItem,
+ UINT uiFlag);
+
+BOOL GetFileName (HWND hwndDlg,
+ _In_opt_ LPWSTR lpszFilter,
+ _In_ LPWSTR lpszTitle,
+ DWORD dwFlags,
+ _Out_writes_(MAX_PATH+1) LPWSTR lpszFile,
+ _In_opt_ LPWSTR lpszDefExt,
+ BOOL fSave);
+
+VOID ProcessRightClick (LPNMHDR lpnm);
+
+VOID ShowComponentMenu (HWND hwndOwner,
+ HTREEITEM hItem,
+ LPARAM lParam);
+
+VOID ShowBindingPathMenu (HWND hwndOwner,
+ HTREEITEM hItem,
+ LPARAM lParam,
+ BOOL fEnabled);
+
+BOOL GetItemInfo (HWND hwndTree,
+ HTREEITEM hItem,
+ LPARAM *lParam,
+ LPDWORD lpdwItemType,
+ BOOL *fEnabled);
+
+HTREEITEM AddBindNameToTree (INetCfgBindingPath *pncbp,
+ HWND hwndTree,
+ HTREEITEM hParent,
+ ULONG ulIndex);
+
+HTREEITEM AddToTree (HWND hwndTree,
+ HTREEITEM hParent,
+ INetCfgComponent *pncc);
+
+HTREEITEM AddToTreeEx (HWND hwndTree,
+ HTREEITEM hParent,
+ INetCfgComponent *pncc,
+ BOOL fUsePnpId);
+
+VOID RefreshAll (HWND hwndDlg);
+
+VOID RefreshItemState (HWND hwndTree,
+ HTREEITEM hItem,
+ BOOL fEnable);
+
+VOID RefreshBindings (HWND hwndTree,
+ _In_ LPWSTR lpszInfId);
+
+VOID ReleaseMemory (HWND hwndTree,
+ HTREEITEM hTreeItem);
+
+
+VOID DeleteChildren (HWND hwndTree,
+ HTREEITEM hTreeItem);
+
+HTREEITEM InsertItem (HWND hwndTree,
+ UINT uiType);
+
+BOOL UpdateComponentTypeList (HWND hwndTypeList);
+
+
+VOID ErrMsg (HRESULT hr,
+ LPCWSTR lpFmt,
+ ...);
+
+//
+// Functions defined in component.cpp
+//
+
+VOID HandleComponentOperation (HWND hwndOwner,
+ ULONG ulSelection,
+ HTREEITEM hItem,
+ LPARAM lParam);
+
+VOID BindUnbindComponents( HWND hwndOwner,
+ HTREEITEM hItem,
+ _In_ LPWSTR lpszInfId,
+ BOOL fBindTo);
+
+HRESULT InstallComponent (HWND hwndDlg,
+ const GUID *pguidClass);
+
+HRESULT InstallSpecifiedComponent ( _In_ LPWSTR lpszInfFile,
+ _In_ LPWSTR lpszPnpID,
+ const GUID *pguidClass);
+
+DWORD ListCompToBindUnbind ( _In_ LPWSTR lpszInfId,
+ UINT uiType,
+ HWND hwndTree,
+ BOOL fBound);
+
+BOOL BindUnbind ( _In_ LPWSTR lpszInfId,
+ HWND hwndTree,
+ BOOL fBind);
+
+VOID ListInstalledComponents (HWND hwndTree,
+ const GUID *pguidClass);
+
+HRESULT UninstallComponent ( _In_ LPWSTR lpszInfId);
+
+//
+// Functions defined in binding.cpp
+//
+
+VOID WriteBindings (FILE *fp);
+
+VOID WriteBindingPath (FILE *fp,
+ INetCfgComponent *pncc);
+
+VOID WriteInterfaces (FILE *fp,
+ INetCfgBindingPath *pncbp);
+
+BOOL EnumNetBindings (HWND hwndTree,
+ UINT uiTypeSelected);
+
+VOID ListBindings (INetCfgComponent *pncc,
+ HWND hwndTree,
+ HTREEITEM hTreeItemRoot);
+
+VOID ListInterfaces (INetCfgBindingPath *pncbp,
+ HWND hwndTree,
+ HTREEITEM hTreeItemRoot);
+
+VOID HandleBindingPathOperation (HWND hwndOwner,
+ ULONG ulSelection,
+ HTREEITEM hItem,
+ LPARAM lParam);
+
+VOID EnableBindingPath (HWND hwndOwner,
+ HTREEITEM hItem,
+ _In_ LPWSTR lpszTokenPath,
+ BOOL fEnable);
+
+LPWSTR GetComponentId (HWND hwndTree,
+ HTREEITEM hItem);
+
+INetCfgBindingPath *FindBindingPath (INetCfg *pnc,
+ _In_ LPWSTR lpszInfId,
+ _In_ LPWSTR lpszPathTokenSelected);
+
+#endif