All exports in nidmgr32.dll are declared as __declspec(dllexport)
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 22 Jun 2007 18:47:16 +0000 (18:47 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 22 Jun 2007 18:47:16 +0000 (18:47 +0000)
using the KHMEXP macro in the header files.  However, since the same
header files are used to declare imports when building applications
and plug-ins that use nidmgr32.dll, the KHMEXP macro should switch to
__declspec(import) so that the relevant import table entries are
created.

To make this switch, the source files that go into nidmgr32.dll are
compiled with the special macro _NIMLIB_ defined that indicates that
the KHMEXP should expand to __declspec(dllexport).  In the absence of
this macro, KHMEXP will expand to __declspec(dllimport).

ticket: 5584

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19618 dc483132-0cff-0310-8789-dd5450dbe970

26 files changed:
src/windows/identity/include/khdefs.h
src/windows/identity/kconfig/kconfiginternal.h
src/windows/identity/kcreddb/kcreddbinternal.h
src/windows/identity/kherr/kherrinternal.h
src/windows/identity/kmm/kmminternal.h
src/windows/identity/kmm/kplugin.h
src/windows/identity/kmq/kmqinternal.h
src/windows/identity/plugins/krb4/krb4main.c
src/windows/identity/plugins/krb4/krbcred.h
src/windows/identity/plugins/krb5/krb5main.c
src/windows/identity/plugins/krb5/krbcred.h
src/windows/identity/uilib/action.c
src/windows/identity/uilib/alert.c
src/windows/identity/uilib/configui.c
src/windows/identity/uilib/creddlg.c
src/windows/identity/uilib/propsheet.c
src/windows/identity/uilib/propwnd.c
src/windows/identity/uilib/rescache.c
src/windows/identity/uilib/trackerwnd.c
src/windows/identity/uilib/uibind.c
src/windows/identity/uilib/uilibmain.c
src/windows/identity/uilib/version.c
src/windows/identity/util/hashtable.c
src/windows/identity/util/mstring.c
src/windows/identity/util/perfstat.c
src/windows/identity/util/sync.c

index 0d32356f690f32622c2cd8e2fc11d50d4933daed..c39d6f4ea91280c2c2fb8391298fe206b17beb09 100644 (file)
@@ -177,7 +177,12 @@ typedef unsigned __int64 khm_lparm;
 #define KHMEXP_EXP __declspec(dllexport)
 #define KHMEXP_IMP __declspec(dllimport)
 
+#ifdef _NIMLIB_
 #define KHMEXP KHMEXP_EXP
+#else
+#define KHMEXP KHMEXP_IMP
+#endif
+
 #endif
 
 /* Generic permission values */
index dc1bfa36354c88399c05c5f5c0e37978ee59589c..cd65877b3de42eb4ce188308cd1629b2d8bc90aa 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __KHIMAIRA_KCONFIGINTERNAL_H
 #define __KHIMAIRA_KCONFIGINTERNAL_H
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<kconfig.h>
 #include<khlist.h>
index 2b80d1832d00f3ca40cb71c85d66345682389e8d..ac07aa75ab4c4648ac17c84239aea7a85ec727bf 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __KHIMAIRA_KCREDDBINTERNAL_H__
 #define __KHIMAIRA_KCREDDBINTERNAL_H__
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<kcreddb.h>
 #include<kmq.h>
index fb6412aa24ee6fdab18e7d68dd9bbe2f9e24b3b0..b57686c23835d4c293645d2fe94699f2cc331b80 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __KHIMAIRA_KHERRORINTERNAL_H
 #define __KHIMAIRA_KHERRORINTERNAL_H
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<kherr.h>
 #include<utils.h>
index 1712e976cf645f005f543edd033907a9be0041e8..b945d3509ee58c8986c0bb2e9bd5d6ace18961b5 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __KHIMAIRA_KMMINTERNAL_H
 #define __KHIMAIRA_KMMINTERNAL_H
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<shlwapi.h>
 #include<strsafe.h>
index 6eb4e13c2603fa585082f71950c2ebf4db3b371b..a5b7a088a9f3674c375ba3ee0463207b3f2a16ba 100644 (file)
@@ -84,7 +84,7 @@ plugin.
 
     \note This callback is required.
 */
-KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module);
+KHMEXP_EXP khm_int32 KHMAPI init_module(kmm_module h_module);
 
 /*! \brief Type for init_module() */
 typedef khm_int32 (KHMAPI *init_module_t)(kmm_module);
@@ -104,7 +104,7 @@ typedef khm_int32 (KHMAPI *init_module_t)(kmm_module);
 
     Essentially, this is a message subscriber for KMQ messages.
 */
-KHMEXP khm_int32 KHMAPI _plugin_proc(khm_int32 msg_type, khm_int32 msg_subtype, khm_ui_4 uparam, void * vparam);
+KHMEXP_EXP khm_int32 KHMAPI _plugin_proc(khm_int32 msg_type, khm_int32 msg_subtype, khm_ui_4 uparam, void * vparam);
 
 /*! \brief Type for init_plugin() */
 typedef kmq_callback_t _plugin_proc_t;
@@ -127,7 +127,7 @@ typedef kmq_callback_t _plugin_proc_t;
 
     \note This callback is not required.
 */
-KHMEXP khm_int32 KHMAPI exit_module(kmm_module h_module);
+KHMEXP_EXP khm_int32 KHMAPI exit_module(kmm_module h_module);
 
 /*! \brief Type for exit_module() */
 typedef khm_int32 (KHMAPI *exit_module_t)(kmm_module);
index bd97f1bb6da59abb540f1c1f60b88acc26f5b7fd..8ae0ab67e18a45defb0a3bdc904c1284b8c428ad 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef __KHIMAIRA_KMQINTERNAL_H
 #define __KHIMAIRA_KMQINTERNAL_H
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<kmq.h>
 #include<khlist.h>
index 7ab2d71f32550c024d1b239e5b1cdefbb5e6a025..6b1c395b2f3c9183061165a8edef1ac69b295acb 100644 (file)
@@ -58,7 +58,7 @@ void exit_krb() {
 }
 
 /* called by the NetIDMgr module manager */
-KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module) {
+KHMEXP_EXP khm_int32 KHMAPI init_module(kmm_module h_module) {
     khm_int32 rv = KHM_ERROR_SUCCESS;
     kmm_plugin_reg pi;
     wchar_t buf[256];
@@ -107,7 +107,7 @@ KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module) {
 }
 
 /* called by the NetIDMgr module manager */
-KHMEXP khm_int32 KHMAPI exit_module(kmm_module h_module) {
+KHMEXP_EXP khm_int32 KHMAPI exit_module(kmm_module h_module) {
     exit_imports();
     exit_error_funcs();
 
index 53e22c8929b6edbd3b4405570a76b882dbed23c4..0b6a148eeb6b884b8efed81c6d493480c23efc62 100644 (file)
@@ -56,8 +56,6 @@
 
 void init_krb();
 void exit_krb();
-KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module);
-KHMEXP khm_int32 KHMAPI exit_module(kmm_module h_module);
 
 /* globals */
 extern kmm_module h_khModule;
index befa7a9808e95632728312d31f7253c8a93ddcf2..4875a80f8135e5d355e08e573b97dc42dc0ff75b 100644 (file)
@@ -81,7 +81,7 @@ void exit_krb() {
 }
 
 /* called by the NetIDMgr module manager */
-KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module) {
+KHMEXP_EXP khm_int32 KHMAPI init_module(kmm_module h_module) {
     khm_int32 rv = KHM_ERROR_SUCCESS;
     kmm_plugin_reg pi;
     wchar_t buf[256];
@@ -426,7 +426,7 @@ _exit:
 }
 
 /* called by the NetIDMgr module manager */
-KHMEXP khm_int32 KHMAPI exit_module(kmm_module h_module) {
+KHMEXP_EXP khm_int32 KHMAPI exit_module(kmm_module h_module) {
     exit_imports();
     exit_error_funcs();
 
index 0048f7185e14c0ab1e6a115c3d64797c5db1f899..a194343accf523f006c80791917092cc9b8c11ce 100644 (file)
@@ -73,8 +73,6 @@ typedef enum tag_k5_lsa_import {
 
 void init_krb();
 void exit_krb();
-KHMEXP khm_int32 KHMAPI init_module(kmm_module h_module);
-KHMEXP khm_int32 KHMAPI exit_module(kmm_module h_module);
 
 /* globals */
 extern kmm_module h_khModule;
index d5556620d474e7f7f02b5933819e4224885a6a21..be3860c81afb969d63fa86badb8c6be391dbe8a4 100644 (file)
@@ -26,6 +26,8 @@
 /* $Id$ */
 
 #define NOEXPORT
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<intaction.h>
 #include<utils.h>
index 376eab6e1c6750fd42ee5d03e74e2f9d45621671..02df7a1e399d12cb835ba52581db12e2f798976b 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<utils.h>
 #include<intalert.h>
@@ -35,6 +37,7 @@
   Alerter
 ***********************************************************************/
 
+
 khui_alert * kh_alerts = NULL;
 CRITICAL_SECTION cs_alerts;
 
index 3de2573ea1777b2a4b5f037a07f60da6dbefc011..f2994d8406e39d5e62196f0f91cce5ddaa83f0e0 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<kmm.h>
 #include<configui.h>
index 08b0a149d690802245d959a5eb897e448ad4d405..eb883814f99b69659cb39db7c8b5651dacc40b84 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<utils.h>
 #include<assert.h>
index 55c6cbb1b7e0f1e87adf1e1906aebff0191969d8..068bcf00c09a014de6c6d236a7f41a844f630d2d 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<utils.h>
 #ifdef DEBUG
index 2116f5ed4df2d2af76b7639b04c55dcefa9b6722..ea36e28aad59f16ca83b17efcee70d914c1dc5fd 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 
 
index 3134df825ec350937361f7412f688e5f8f15ebdf..7715cfdeed6c88d517eda29d535c4c45a01dd3fd 100644 (file)
@@ -25,6 +25,7 @@
 /* $Id$ */
 
 #define NOEXPORT
+#define _NIMLIB_
 
 #include<khuidefs.h>
 #include<utils.h>
index 1ec2fda28e3e732fca9dc2c7d0c06bd29c4e835d..cc434d95fcbe97e55a8873c53f41cc11e92de61f 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<commctrl.h>
 #include<assert.h>
@@ -472,3 +474,4 @@ khui_tracker_kill_controls(khui_tracker * tc) {
 }
 
 
+
index be183b68f836bb0f5c9388861817c90c68a68e00..f2f44cc3e46543d18330dfb012d58308078f1d92 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 #include<intaction.h>
 
@@ -57,3 +59,4 @@ khui_request_UI_callback(khm_ui_callback cb, void * rock) {
 }
 
 
+
index 5c13ad424c13511f9e54df725ba77aca45a41f0c..25cbcfe335413814eacb70cb113140844af8ff2f 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<khuidefs.h>
 
 extern void alert_init(void);
index 6e3e48fe63623c7693f3c47899d167e2cc8bf230..50a15543f3d54df84e5ef9668746d7d12d0d919c 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<shlwapi.h>
 #include<khuidefs.h>
 #include<netidmgr_intver.h>
index 5773d8021c071d332f4b69dfc2190a7e5b0b0d22..7836179d6f3db865304659fac9bae9a9d1c880c7 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<perfstat.h>
 #include<hashtable.h>
 #include<stdlib.h>
index d9eb9d3507e81648f4f5725559b9b1b8253edab9..176afc46c60786c0125dd03caf26d91f731eec96 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<mstring.h>
 #include<kherror.h>
 #include<strsafe.h>
index 6a9dd810343dc794aa6d95c50269b23f3f0b0222..bcde1f229e25b1906d1ce1d08595f2f0538a29be 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<utils.h>
 #include<malloc.h>
index c829ada7c9aeb5e43824866a4ceea54c82c80f2b..ba20424c425044b80d58f50e0fd5f64fe4554907 100644 (file)
@@ -24,6 +24,8 @@
 
 /* $Id$ */
 
+#define _NIMLIB_
+
 #include<windows.h>
 #include<sync.h>
 #include<assert.h>