Funzione ComDBGetCurrentPortUsage (msports.h)
ComDBGetCurrentPortUsage restituisce informazioni sui numeri di porta COM attualmente registrati come "in uso" nel database della porta COM.
Sintassi
LONG ComDBGetCurrentPortUsage(
[in] HCOMDB HComDB,
[out, optional] PBYTE Buffer,
[in] DWORD BufferSize,
[in] ULONG ReportType,
[out, optional] LPDWORD MaxPortsReported
);
Parametri
[in] HComDB
Gestire il database della porta COM restituito da ComDBOpen.
[out, optional] Buffer
Puntatore a un buffer allocato dal chiamante in cui la routine restituisce informazioni sul numero di porta COM. Per altre informazioni, vedere la sezione Osservazioni.
[in] BufferSize
Specifica le dimensioni, in byte, di un buffer allocato dal chiamante nel buffer.
[in] ReportType
Specifica uno dei flag seguenti.
Contrassegno | Significato |
---|---|
CDB_REPORT_BITS | La routine restituisce una matrice di bit in Buffer che specifica l'utilizzo del numero di porta. |
CDB_REPORT_BYTES | La routine restituisce una matrice di byte in Buffer che specifica l'utilizzo del numero di porta. |
[out, optional] MaxPortsReported
Puntatore al valore utilizzato dalla routine per restituire il numero di porte per cui la routine restituisce informazioni in Buffer. Per altre informazioni, vedere la sezione Osservazioni.
Valore restituito
ComDBGetCurrentPortUsage restituisce uno dei valori di stato seguenti.
Codice restituito | Descrizione |
---|---|
|
La routine ha restituito correttamente le informazioni sull'utilizzo del numero di porta. |
|
Uno dei seguenti è true: l'handle specificato al database della porta COM non è valido. Sia Buffer che MaxPortsReports sono NULL. ReportType non è valido. |
|
La routine non è riuscita ad accedere al database. Per informazioni dettagliate sull'errore, chiamare GetLastError. |
Commenti
Impostando Buffer su NULL e MaxPortsReported su un puntatore valido, un chiamante può determinare le dimensioni correnti del database della porta COM, ovvero il numero di numeri di porta COM attualmente arbitrati nel database. In questo caso, la routine imposta *MaxPortsReported sulle dimensioni del database. ReportType non viene usato.
Se buffer non NULL e ReportType è valido, la routine esegue le operazioni seguenti:
- Se ReportType è CDB_REPORT_BITS, la routine restituisce una matrice di bit che specifica l'utilizzo del numero di porta. Ogni bit nel buffer di output corrisponde a un numero di porta. L'uso di un indice in base zero, zero bit di byte zero in Buffer corrisponde a COM1, bit 1 corrisponde a COM2 e così via. Un valore bit pari a 1 indica che il numero di porta è in uso e un valore pari a zero indica che il numero di porta non è in uso. Numero di numeri di porta per i quali la routine restituisce informazioni sull'utilizzo è il minimo delle dimensioni correnti del database e il numero di bit nel buffer (BufferSize*8). Se MaxPortsReported non è NULL, la routine imposta anche *MaxPortsReported sul numero di numeri di porta per cui la routine restituisce informazioni sull'utilizzo. Se BufferSize è zero, non vengono restituite informazioni sull'utilizzo delle porte e *MaxPortsReported è impostato su zero.
- Se ReportType è CDB_REPORT_BYTES, la routine restituisce una matrice di byte che specifica l'utilizzo del numero di porta. Ogni byte nelle informazioni restituite corrisponde a un numero di porta diverso. L'uso di un indice in base zero, byte zero in Buffer corrisponde a COM1, byte 1 corrisponde a COM2 e così via. Un valore di byte pari a 1 indica che il numero di porta è in uso e un valore pari a zero indica che il numero di porta non è in uso. Numero di numeri di porta per i quali la routine restituisce informazioni sull'utilizzo è il minimo delle dimensioni correnti del database e BufferSize. La routine non imposta *MaxPortsReported. Se BufferSize è zero, non vengono restituite informazioni sull'utilizzo delle porte.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | msports.h (include Msports.h) |
Libreria | Msports.lib |
DLL | Msports.dll |