1#ifndef _MSPORTS_ 2#define _MSPORTS_ 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8DECLARE_HANDLE(HCOMDB); 9typedef 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 20LONG 21WINAPI 22ComDBClaimNextFreePort(IN HCOMDB hComDB, 23 OUT LPDWORD ComNumber); 24 25LONG 26WINAPI 27ComDBClaimPort(IN HCOMDB hComDB, 28 IN DWORD ComNumber, 29 IN BOOL ForceClaim, 30 OUT PBOOL Forced); 31 32LONG 33WINAPI 34ComDBClose(IN HCOMDB hComDB); 35 36LONG 37WINAPI 38ComDBGetCurrentPortUsage(IN HCOMDB hComDB, 39 OUT PBYTE Buffer, 40 IN DWORD BufferSize, 41 IN DWORD ReportType, 42 OUT LPDWORD MaxPortsReported); 43 44LONG 45WINAPI 46ComDBOpen(OUT HCOMDB *phComDB); 47 48LONG 49WINAPI 50ComDBReleasePort(IN HCOMDB hComDB, 51 IN DWORD ComNumber); 52 53LONG 54WINAPI 55ComDBResizeDatabase(IN HCOMDB hComDB, 56 IN DWORD NewSize); 57 58#ifdef __cplusplus 59} 60#endif 61 62#endif /* _MSPORTS_ */ 63