15#define HUGE_HELP_BUFFER_SIZE 2048
16#define SMALL_HELP_BUFFER_SIZE 160
17#define TINY_HELP_BUFFER_SIZE 80
53 wcscat(pszBuffer, pContext->pszContextName);
57 wcscpy(pszBuffer, pContext->pszContextName);
90 pCommand = pGroup->pCommandListHead;
91 while (pCommand !=
NULL)
93 DPRINT(
"CheckVersion (Command) %S %S", pGroup->pwszCmdGroupToken, pCommand->
pwszCmdToken);
101 pCommand = pCommand->
pNext;
125 DWORD dwCount = 0, dwIndex;
128 DPRINT(
"PrintContext()\n");
136 pCommand = pContext->pCommandListHead;
137 while (pCommand !=
NULL)
140 pCommand = pCommand->
pNext;
144 pGroup = pContext->pGroupListHead;
145 while (pGroup !=
NULL)
148 pGroup = pGroup->
pNext;
153 while (pSubContext !=
NULL)
156 pSubContext = pSubContext->
pNext;
160 if (pHelpArray ==
NULL)
166 pCommand = pContext->pCommandListHead;
167 while (pCommand !=
NULL)
174 pCommand = pCommand->
pNext;
178 pGroup = pContext->pGroupListHead;
179 while (pGroup !=
NULL)
186 pGroup = pGroup->
pNext;
191 while (pSubContext !=
NULL)
197 pSubContext = pSubContext->
pNext;
202 for (dwIndex = 0; dwIndex < dwCount; dwIndex++)
204 switch (pHelpArray[dwIndex].
Type)
228 ConPrintf(
StdOut,
L"%-15s - Changes to the \"%s\" context.\n", pHelpArray[dwIndex].pszCommand, szBuffer);
255 DWORD dwCount, dwIndex;
257 if (pContext->pSubContextHead ==
NULL)
262 while (pSubContext !=
NULL)
265 pSubContext = pSubContext->
pNext;
269 if (pSubContextArray ==
NULL)
274 while (pSubContext !=
NULL)
276 pSubContextArray[dwIndex] = pSubContext;
278 pSubContext = pSubContext->
pNext;
284 for (dwIndex = 0; dwIndex < dwCount; dwIndex++)
305 DPRINT(
"PrintCommandHelp(%p %p %p)\n", pContext, pGroup, pCommand);
315 if (pszCommandBuffer ==
NULL)
319 (pGroup) ? pGroup->pwszCmdGroupToken :
L"",
320 (pGroup) ?
L" " :
L"",
321 pCommand->pwszCmdToken);
329 pCommand->dwCmdHlpToken,
352 pGroup = pContext->pGroupListHead;
353 while (pGroup !=
NULL)
360 pGroup = pGroup->
pNext;
PCONTEXT_ENTRY pRootContext
PCONTEXT_ENTRY pCurrentContext
static VOID PrintShortGroupCommands(_In_ PCONTEXT_ENTRY pContext, _In_ PCOMMAND_GROUP pGroup)
VOID PrintCommandHelp(_In_ PCONTEXT_ENTRY pContext, _In_ PCOMMAND_GROUP pGroup, _In_ PCOMMAND_ENTRY pCommand)
static int HelpCompare(_In_ const void *p1, _In_ const void *p2)
static VOID PrintSubcontexts(_In_ PCONTEXT_ENTRY pContext)
static VOID PrintCurrentContextHeader(_In_ PCONTEXT_ENTRY pContext)
struct HELP_ENTRY * PHELP_ENTRY
enum HELP_TYPE * PHELP_TYPE
static VOID GetContextFullName(_In_ PCONTEXT_ENTRY pContext, _Inout_ LPWSTR pszBuffer, _In_ DWORD cchLength)
static int SubContextCompare(_In_ const void *p1, _In_ const void *p2)
#define SMALL_HELP_BUFFER_SIZE
static VOID PrintContext(_In_ PCONTEXT_ENTRY pContext)
#define TINY_HELP_BUFFER_SIZE
VOID PrintGroupHelp(_In_ PCONTEXT_ENTRY pContext, _In_ LPWSTR pszGroupName, _In_ BOOL bRecurse)
VOID PrintContextHelp(_In_ PCONTEXT_ENTRY pContext)
BOOL CheckOsVersion(_In_ PNS_OSVERSIONCHECK pfnOsVersionCheck)
#define IDS_CONTEXT_COMMANDS
#define IDS_THIS_COMMANDS
#define IDS_SUBCONTEXT_HEADER
void ConPuts(FILE *fp, LPCWSTR psz)
void ConPrintf(FILE *fp, LPCWSTR psz,...)
void ConResPrintf(FILE *fp, UINT nID,...)
#define HeapFree(x, y, z)
static DWORD DWORD * dwLength
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP void __cdecl qsort(void *, size_t, size_t, int(__cdecl *)(const void *, const void *))
#define _swprintf(buf, format,...)
INT ConResMsgPrintfExV(IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN DWORD dwFlags, IN UINT uID, IN LANGID LanguageId, IN va_list *Arguments OPTIONAL)
union HELP_ENTRY::@19 Pointer
PCONTEXT_ENTRY pSubContext
PNS_OSVERSIONCHECK pfnOsVersionCheck
DWORD dwShortCmdHelpToken
struct _COMMAND_ENTRY * pNext
PNS_OSVERSIONCHECK pfnOsVersionCheck
struct _COMMAND_GROUP * pNext
DWORD dwShortCmdHelpToken
struct _CONTEXT_ENTRY * pSubContextHead
struct _CONTEXT_ENTRY * pNext
PNS_OSVERSIONCHECK pfnOsVersionCheck
#define LANG_USER_DEFAULT
#define FORMAT_MESSAGE_ARGUMENT_ARRAY