Hi,
I’ve created a few different DLLs that gets hooked into my q-based environment using 2:. But I met a strange issue recently with one of our newer DLLs.
The symptom manifests itself in a way that 2: only works once – the very first call of 2: on this DLL is always successful, but another subsequent calls of 2: on this DLL (or even other DLLs) always fails with “The specified module could not be found.” error. I’m wondering if anyone else has seen such problem before?
==================DUMPBIN OUTPUT=========================
D:\DEV\arbitrage>dumpbin /exports Wind_API.dll
Microsoft (R) COFF/PE Dumper Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file Wind_API.dll
File Type: DLL
Section contains the following exports for Wind_API.dll
00000000 characteristics
54DB396D time date stamp Wed Feb 11 19:13:49 2015
0.00 version
1 ordinal base
2 number of functions
2 number of names
ordinal hint RVA name
1 0 00017D6B Wind_login = @ILT+3430(_Wind_login)
2 1 00017032 Wind_logout = @ILT+45(_Wind_logout)
Summary
1000 .data
1000 .idata
8000 .rdata
2000 .reloc
1000 .rsrc
32000 .text
16000 .textbss
==================DUMPBIN OUTPUT=========================
==================KDB+ SESSION=========================
D:\DEV\arbitrage>q
KDB+ 3.2 2015.01.14 Copyright (C) 1993-2015 Kx Systems
w32/ 4()core 4095MB Think dev-thinkpad 192.168.10.104 NONEXPIRE
Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/wiki/Tutorials
To exit, type \
To remove this startup msg, edit q.q
q)DLL:hsym`$“./Wind_API”
q)login:0N!DLL 2:(`Wind_login;2)
code
q)logout:0N!DLL 2:(`Wind_logout;1)
'The specified module could not be found.
q)login2:0N!DLL 2:(`Wind_login;2)
'The specified module could not be found.
q)/NOTE: Even the 2nd call to look up for `Wind_login failed…
==================KDB+ SESSION=========================