19#define WIN32_NO_STATUS
38#define HUGE_BUFFER_SIZE 2048
40#define MAX_STRING_SIZE 1024
41#define MAX_ARGS_COUNT 256
43#define REG_NETSH_PATH L"Software\\Microsoft\\NetSh"
struct _COMMAND_GROUP * PCOMMAND_GROUP
DWORD CreateRootHelper(VOID)
struct _COMMAND_ENTRY COMMAND_ENTRY
PHELPER_ENTRY FindHelper(_In_ const GUID *pguidHelper, _In_ PHELPER_ENTRY pHelper)
DWORD WINAPI ShowAliasCommand(LPCWSTR pwszMachine, LPWSTR *argv, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
struct _COMMAND_GROUP COMMAND_GROUP
BOOL CreateRootContext(VOID)
VOID PrintCommandHelp(_In_ PCONTEXT_ENTRY pContext, _In_ PCOMMAND_GROUP pGroup, _In_ PCOMMAND_ENTRY pCommand)
struct _CONTEXT_ENTRY CONTEXT_ENTRY
struct _DLL_LIST_ENTRY * PDLL_LIST_ENTRY
PCONTEXT_ENTRY pRootContext
VOID InterpretInteractive(VOID)
LPWSTR MergeStrings(_In_ LPWSTR pszStringArray[], _In_ INT nCount)
VOID CleanupContext(VOID)
DWORD RunScript(_In_ LPCWSTR filename)
DWORD WINAPI AddHelperCommand(LPCWSTR pwszMachine, LPWSTR *ppwcArguments, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
DWORD WINAPI DeleteHelperCommand(LPCWSTR pwszMachine, LPWSTR *ppwcArguments, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
struct _DLL_LIST_ENTRY DLL_LIST_ENTRY
PCONTEXT_ENTRY FindContextByGuid(_In_ const GUID *pGuid)
DWORD InterpretLine(_In_ LPWSTR pszFileName)
PCONTEXT_ENTRY pCurrentContext
VOID DestroyAliases(VOID)
struct _CONTEXT_ENTRY * PCONTEXT_ENTRY
struct _HELPER_ENTRY * PHELPER_ENTRY
DWORD WINAPI UnaliasCommand(LPCWSTR pwszMachine, LPWSTR *argv, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
struct _HELPER_ENTRY HELPER_ENTRY
struct _COMMAND_ENTRY * PCOMMAND_ENTRY
PHELPER_ENTRY pHelperListHead
DWORD WINAPI ShowHelperCommand(LPCWSTR pwszMachine, PWSTR *ppwcArguments, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
VOID PrintGroupHelp(_In_ PCONTEXT_ENTRY pContext, _In_ LPWSTR pszGroupName, _In_ BOOL bRecurse)
DWORD WINAPI AliasCommand(LPCWSTR pwszMachine, LPWSTR *argv, DWORD dwCurrentIndex, DWORD dwArgCount, DWORD dwFlags, LPCVOID pvData, BOOL *pbDone)
VOID PrintContextHelp(_In_ PCONTEXT_ENTRY pContext)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
FN_HANDLE_CMD * PFN_HANDLE_CMD
NS_CONTEXT_CONNECT_FN * PNS_CONTEXT_CONNECT_FN
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
NS_CONTEXT_DUMP_FN * PNS_CONTEXT_DUMP_FN
_In_ LPWSTR * ppwcArguments
NS_CONTEXT_COMMIT_FN * PNS_CONTEXT_COMMIT_FN
_In_ LPWSTR _In_ DWORD dwArgCount
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD _In_ LPCVOID _Out_ BOOL * pbDone
_In_ LPWSTR _In_ DWORD dwCurrentIndex
PFN_HANDLE_CMD pfnCmdHandler
struct _COMMAND_ENTRY * pPrev
DWORD dwShortCmdHelpToken
struct _COMMAND_ENTRY * pNext
PCOMMAND_ENTRY pCommandListTail
PCOMMAND_ENTRY pCommandListHead
struct _COMMAND_GROUP * pPrev
struct _COMMAND_GROUP * pNext
DWORD dwShortCmdHelpToken
PNS_CONTEXT_CONNECT_FN pfnConnectFn
PCOMMAND_ENTRY pCommandListTail
PCOMMAND_GROUP pGroupListTail
struct _CONTEXT_ENTRY * pSubContextHead
struct _CONTEXT_ENTRY * pPrev
PNS_CONTEXT_COMMIT_FN pfnCommitFn
struct _CONTEXT_ENTRY * pParentContext
struct _CONTEXT_ENTRY * pNext
PNS_CONTEXT_DUMP_FN pfnDumpFn
PCOMMAND_GROUP pGroupListHead
PCOMMAND_ENTRY pCommandListHead
struct _CONTEXT_ENTRY * pSubContextTail
struct _DLL_LIST_ENTRY * pNext
struct _DLL_LIST_ENTRY * pPrev
struct _HELPER_ENTRY * pSubHelperTail
NS_HELPER_ATTRIBUTES Attributes
struct _HELPER_ENTRY * pSubHelperHead
PDLL_LIST_ENTRY pDllEntry
struct _HELPER_ENTRY * pNext
struct _HELPER_ENTRY * pPrev
WORD WORD PSZ PSZ pszFileName