This example updates the paths to be searched before and after the system LIBPATH, when locating a DLL.
#define INCL_DOSMISC #define INCL_DOSERRORS #include <os2.h> #include <stdio.h> int main(VOID) { UCHAR uchBeginLIBPATH[512] = ""; /* Begin LIBPATH value returned */ UCHAR uchEndLIBPATH[512] = ""; /* End LIBPATH value returned */ APIRET rc = NO_ERROR; /* Return code */ rc = DosSetExtLIBPATH("C:\\TOOL_X\\VERS_20\\DLL", BEGIN_LIBPATH); /* Add to beginning LIBPATH */ if (rc != NO_ERROR) { printf("DosSetExtLIBPATH error: return code = %u\n", rc); return 1; } rc = DosSetExtLIBPATH("C:\\TOOL_X\\VERS_10\\DLL", END_LIBPATH); /* Add to ending LIBPATH */ if (rc != NO_ERROR) { printf("DosSetExtLIBPATH error: return code = %u\n", rc); return 1; } rc = DosQueryExtLIBPATH(uchBeginLIBPATH, BEGIN_LIBPATH); /* Query the BeginLIBPATH */ if (rc != NO_ERROR) { printf("DosQueryExtLIBPATH error: return code = %u\n", rc); return 1; } rc = DosQueryExtLIBPATH(uchEndLIBPATH, END_LIBPATH); /* Query the EndLIBPATH */ if (rc != NO_ERROR) { printf("DosQueryExtLIBPATH error: return code = %u\n", rc); return 1; } printf(" BeginLIBPATH = %s\n", uchBeginLIBPATH); printf(" EndLIBPATH = %s\n", uchEndLIBPATH); return NO_ERROR; }