Update NEWS for 1.6.22
[pkg-k5-afs_openafs.git] / src / WINNT / netidmgr_plugin / afshelp.c
blob30a7cc619554acdd09ac38ec2bef9d735934e752
1 /*
2 * Copyright (c) 2005,2006 Secure Endpoints Inc.
4 * Permission is hereby granted, free of charge, to any person
5 * obtaining a copy of this software and associated documentation
6 * files (the "Software"), to deal in the Software without
7 * restriction, including without limitation the rights to use, copy,
8 * modify, merge, publish, distribute, sublicense, and/or sell copies
9 * of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
25 /* $Id$ */
27 #define NOSTRSAFE
29 #include<afscred.h>
30 #include<shlwapi.h>
31 #include<htmlhelp.h>
32 #include<psapi.h>
34 #ifdef DEBUG
35 #include<assert.h>
36 #endif
38 #include<strsafe.h>
40 static wchar_t helpfile[MAX_PATH] = L"";
42 /* can only be called from the UI thread */
43 HWND
44 afs_html_help(HWND caller,
45 wchar_t * postfix,
46 UINT cmd,
47 DWORD_PTR data) {
49 wchar_t fullp[MAX_PATH + MAX_PATH];
51 if (!helpfile[0]) {
52 DWORD rv;
54 rv = GetModuleFileNameEx(GetCurrentProcess(),
55 hInstance,
56 helpfile,
57 ARRAYLENGTH(helpfile));
58 #ifdef DEBUG
59 assert(rv != 0);
60 #endif
61 PathRemoveFileSpec(helpfile);
62 PathAppend(helpfile, AFS_HELPFILE);
65 StringCbCopy(fullp, sizeof(fullp), helpfile);
66 if (postfix)
67 StringCbCat(fullp, sizeof(fullp), postfix);
69 return HtmlHelp(caller, fullp, cmd, data);