Microsoft KB Archive/100030

{|
 * width="100%"|

PRB: midiInputHandler GP faults in MIDIMON Sample Application

 * }

Q100030

-

The information in this article applies to:


 * Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1

-

SYMPTOMS
In the MIDIMON sample application provided with Visual C++ and the Microsoft Windows Software Development Kit (SDK) version 3.1, the midiInputHandler callback function causes a general protection (GP) fault.

CAUSE
The GP fault occurs when the MIDI event handler tries to store event data in a static variable, but the data segment (DS) is not set correctly because the exported functions in the callback dynamic-link library (DLL) are not exported correctly.

RESOLUTION
Because the /GD compiler option is specified in the makefile for MIDIMON's callback DLL, the DLL's exported functions must be declared with the __export keyword. The exported functions missing the __export keyword are _WEP, midiInputHandler, and PutEvent. The __export keyword should be added as required in CALLBACK.H and CALLBACK.DEF.

MORE INFORMATION
The problem described above exists only in the version of MIDIMON distributed with Visual C++ (Microsoft C version 8.0); the original version distributed with C 7.0 builds correctly as shipped.

Additional query words: 3.10 gp-fault gpf midi

Keywords : kb16bitonly

Issue type :

Technology : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK300 kbWinSDK310