The root of the binaries (as well as documentation and examples) is the C
directory off the main installation directory. This contains directories for the examples, documentation and separate directories for PocketPC 2000 & 2002
For PocketPC 2002
C\PocketPC 2002\arm\bin
C\PocketPC 2002\arm\lib
C\PocketPC 2002\x86Emulator\bin
C\PocketPC 2002\x86Emulator\lib
C\PocketPC 2000\arm\bin
C\PocketPC 2000\arm\lib
C\PocketPC 2000\x86Emulator\bin
C\PocketPC 2000\x86Emulator\lib
include
in the installation directory.
MQe_API.h
This is the "root" header file. If you include this you include all the functions that you could require. As the header files are shared, a definition is required to indicate which version of the codebase you are using.
#define NATIVE // or specify this as an option to the compiler #include <published/MQe_API.h>
HMQ_nativeAPI.lib
(the library for the API) and HMQ_nativeCnst.lib
(a static library that contains the constant MQeStrings).The other MQe libraries are statically and dynamically linked with the main API library and will be included as required.
The Native codebase is designed to be re-entrant. The actual codebase does NOT use threads, but this does not preclude the use of multiple threads in the application. For example, an application thread could be created to repeatedly call mqeQueueManager_triggerTransmission()
.
If you wish to use multiple threads, there are no specific APIs that need to be called.
Whilst there is no requirement to have an exception block per thread, it is recommended that you do so. If you use one exception block shared across threads, there is the possibility that a thread that has failed will have its exception block overwritten by a thread that has succeeded.
The calling convention for all the APIs has been explicitly set at __cdecl
(although this does not preclude you from using a different default calling convention in your application).