ComDBGetCurrentPortUsage 함수(msports.h)
ComDBGetCurrentPortUsage 는 COM 포트 데이터베이스에서 현재 "사용 중"으로 기록된 COM 포트 번호에 대한 정보를 반환합니다.
구문
LONG ComDBGetCurrentPortUsage(
[in] HCOMDB HComDB,
[out, optional] PBYTE Buffer,
[in] DWORD BufferSize,
[in] ULONG ReportType,
[out, optional] LPDWORD MaxPortsReported
);
매개 변수
[in] HComDB
ComDBOpen에서 반환된 COM 포트 데이터베이스에 대한 핸들입니다.
[out, optional] Buffer
루틴이 COM 포트 번호에 대한 정보를 반환하는 호출자가 할당한 버퍼에 대한 포인터입니다. 자세한 내용은 설명 부분을 참조하세요.
[in] BufferSize
버퍼에서 호출자가 할당한 버퍼의 크기(바이트)를 지정합니다.
[in] ReportType
다음 플래그 중 하나를 지정합니다.
플래그 | 의미 |
---|---|
CDB_REPORT_BITS | 루틴은 포트 번호 사용량을 지정하는 버퍼 에서 비트 배열을 반환합니다. |
CDB_REPORT_BYTES | 루틴은 포트 번호 사용량을 지정하는 버퍼 에서 바이트 배열을 반환합니다. |
[out, optional] MaxPortsReported
루틴이 버퍼에서 정보를 반환하는 포트 수를 반환하는 데 사용하는 값에 대한 포인터입니다. 자세한 내용은 설명 부분을 참조하세요.
반환 값
ComDBGetCurrentPortUsage는 다음 상태 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
루틴이 포트 번호 사용 정보를 성공적으로 반환했습니다. |
|
다음 중 하나는 true입니다. COM 포트 데이터베이스에 대해 지정된 핸들이 잘못되었습니다. 버퍼와 MaxPortsReports는 모두 NULL입니다. ReportType 이 잘못되었습니다. |
|
루틴이 데이터베이스에 액세스할 수 없습니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. |
설명
버퍼를 NULL로 설정하고 MaxPortsReported를 유효한 포인터로 설정하면 호출자는 현재 데이터베이스에서 중재된 COM 포트 번호의 수인 현재 COM 포트 데이터베이스 크기를 확인할 수 있습니다. 이 경우 루틴은 *MaxPortsReported를 데이터베이스 크기로 설정합니다. ReportType 은 사용되지 않습니다.
Buffer가 NULL이 아니고 ReportType이 유효한 경우 루틴은 다음을 수행합니다.
- ReportType이 CDB_REPORT_BITS 경우 루틴은 포트 번호 사용량을 지정하는 비트 배열을 반환합니다. 출력 버퍼의 각 비트는 포트 번호에 해당합니다. 0부터 시작하는 인덱스를 사용하면 Buffer 에서 비트 0의 바이트 0이 COM1에 해당하고 비트 1은 COM2에 해당합니다. 비트 값이 1이면 포트 번호가 사용 중이고 값이 0이면 포트 번호가 사용되지 않음을 나타냅니다. 루틴이 사용량 정보를 반환하는 포트 번호의 수는 현재 데이터베이스 크기의 최소값이며 버퍼의 비트 수(BufferSize*8)입니다. MaxPortsReported가 NULL이 아닌 경우 루틴은 *MaxPortsReported를 루틴이 사용량 정보를 반환하는 포트 번호 수로 설정합니다. BufferSize가 0이면 포트 사용 정보가 반환되지 않고 *MaxPortsReported 가 0으로 설정됩니다.
- ReportType이 CDB_REPORT_BYTES 경우 루틴은 포트 번호 사용량을 지정하는 바이트 배열을 반환합니다. 반환된 정보의 각 바이트는 다른 포트 번호에 해당합니다. 0부터 시작하는 인덱스를 사용하면 Buffer 의 바이트 0이 COM1에 해당하고, 바이트 1은 COM2 등에 해당합니다. 바이트 값이 1이면 포트 번호가 사용 중이고 값이 0이면 포트 번호가 사용되지 않음을 나타냅니다. 루틴이 사용량 정보를 반환하는 포트 번호의 수는 현재 데이터베이스 크기 및 BufferSize의 최소값입니다. 루틴이 *MaxPortsReported를 설정하지 않습니다. BufferSize가 0이면 포트 사용 정보가 반환되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | msports.h(Msports.h 포함) |
라이브러리 | Msports.lib |
DLL | Msports.dll |