Changeset 6397 for trunk/src/kernel32/oslibdos.cpp
- Timestamp:
- Jul 28, 2001, 8:04:35 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/oslibdos.cpp
r6094 r6397 1 /* $Id: oslibdos.cpp,v 1.7 1 2001-06-24 16:40:44sandervl Exp $ */1 /* $Id: oslibdos.cpp,v 1.72 2001-07-28 18:03:38 sandervl Exp $ */ 2 2 /* 3 3 * Wrappers for OS/2 Dos* API … … 2603 2603 //****************************************************************************** 2604 2604 //****************************************************************************** 2605 BOOL OSLibDosBeep(DWORD ulFreq, DWORD ulDuration) 2606 { 2607 APIRET rc; 2608 2609 if (ulDuration == -1) 2610 { 2611 SetLastError(ERROR_NOT_SUPPORTED_W); 2612 return FALSE; 2613 } 2614 rc = DosBeep(ulFreq, ulDuration); 2615 SetLastError(error2WinError(rc,ERROR_INVALID_HANDLE)); 2616 2617 return (rc == 0); 2618 } 2619 //****************************************************************************** 2620 //****************************************************************************** 2621 ULONG OSLibDosGetModuleFileName(HMODULE hModule, LPTSTR lpszPath, DWORD cchPath) 2622 { 2623 PTIB pTIB; 2624 PPIB pPIB; 2625 APIRET rc; 2626 2627 if(hModule == -1 || hModule == 0) 2628 { 2629 DosGetInfoBlocks(&pTIB, &pPIB); 2630 hModule = pPIB->pib_hmte; 2631 } 2632 *lpszPath = 0; 2633 rc = DosQueryModuleName(hModule, cchPath, lpszPath); 2634 2635 DWORD len = strlen(lpszPath); 2636 SetLastError(error2WinError(rc,ERROR_INVALID_HANDLE)); 2637 return len; 2638 } 2639 //****************************************************************************** 2640 //****************************************************************************** 2641 ULONG OSLibDosGetProcAddress(HMODULE hModule, LPCSTR lpszProc) 2642 { 2643 APIRET rc; 2644 PFN pfn = NULL; 2645 ULONG ordinal = (((ULONG)lpszProc) <= 0xFFFF) ? (ULONG)lpszProc : 0; 2646 HMODULE hmod = (HMODULE)hModule; 2647 2648 rc = DosQueryProcAddr( hmod, ordinal, (PSZ)lpszProc, &pfn ); 2649 if(rc == ERROR_INVALID_HANDLE && pfn == NULL) { 2650 CHAR pszError[32], pszModule[CCHMAXPATH]; 2651 2652 if(DosQueryModuleName( hmod, CCHMAXPATH, pszModule ) == 0 && 2653 DosLoadModule( pszError, 32, pszModule, &hmod ) == 0) 2654 { 2655 rc = DosQueryProcAddr(hmod, ordinal, (PSZ)lpszProc, &pfn); 2656 } 2657 } 2658 SetLastError(error2WinError(rc,ERROR_INVALID_HANDLE)); 2659 2660 return (ULONG)pfn; 2661 } 2662 //****************************************************************************** 2663 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.