Condividi tramite


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
ERROR_SUCCESS
La routine ha restituito correttamente le informazioni sull'utilizzo del numero di porta.
ERROR_INVALID_PARAMETER
Uno dei seguenti è true: l'handle specificato al database della porta COM non è valido. Sia Buffer che MaxPortsReports sono NULL. ReportType non è valido.
ERROR_NOT_CONNECTED
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.
ComDBGetCurrentPortUsage viene eseguito in modalità utente.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione msports.h (include Msports.h)
Libreria Msports.lib
DLL Msports.dll

Vedi anche

ComDBClaimNextFreePort

ComDBClaimPort

ComDBResizeDatabase