1 #ifndef _MSPORTS_ 2 #define _MSPORTS_ 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 DECLARE_HANDLE(HCOMDB); 9 typedef HCOMDB *PHCOMDB; 10 #define HCOMDB_INVALID_HANDLE_VALUE ((HCOMDB)INVALID_HANDLE_VALUE) 11 12 /* Limits for ComDBResizeDatabase NewSize */ 13 #define COMDB_MIN_PORTS_ARBITRATED 256 14 #define COMDB_MAX_PORTS_ARBITRATED 4096 15 16 /* ReportType flags for ComDBGetCurrentPortUsage */ 17 #define CDB_REPORT_BITS 0x0 18 #define CDB_REPORT_BYTES 0x1 19 20 LONG 21 WINAPI 22 ComDBClaimNextFreePort(IN HCOMDB hComDB, 23 OUT LPDWORD ComNumber); 24 25 LONG 26 WINAPI 27 ComDBClaimPort(IN HCOMDB hComDB, 28 IN DWORD ComNumber, 29 IN BOOL ForceClaim, 30 OUT PBOOL Forced); 31 32 LONG 33 WINAPI 34 ComDBClose(IN HCOMDB hComDB); 35 36 LONG 37 WINAPI 38 ComDBGetCurrentPortUsage(IN HCOMDB hComDB, 39 OUT PBYTE Buffer, 40 IN DWORD BufferSize, 41 IN DWORD ReportType, 42 OUT LPDWORD MaxPortsReported); 43 44 LONG 45 WINAPI 46 ComDBOpen(OUT HCOMDB *phComDB); 47 48 LONG 49 WINAPI 50 ComDBReleasePort(IN HCOMDB hComDB, 51 IN DWORD ComNumber); 52 53 LONG 54 WINAPI 55 ComDBResizeDatabase(IN HCOMDB hComDB, 56 IN DWORD NewSize); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif /* _MSPORTS_ */ 63