Funzione BuildCommDCBA (winbase.h)

Riempie una struttura DCB specificata con valori specificati in una stringa di controllo del dispositivo. La stringa di controllo del dispositivo usa la sintassi del comando mode .

Sintassi

BOOL BuildCommDCBA(
  [in]  LPCSTR lpDef,
  [out] LPDCB  lpDCB
);

Parametri

[in] lpDef

Informazioni sul controllo del dispositivo. La funzione accetta questa stringa, la analizza e quindi imposta i valori appropriati nella struttura DCB a cui punta lpDCB.

La stringa deve avere lo stesso modulo degli argomenti della riga di comando del comando della modalità :

COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs}][idsr={on|off}]

Il nome del dispositivo è facoltativo, ma deve specificare un dispositivo valido se usato.

Ad esempio, la stringa seguente specifica una velocità baud di 1200, nessuna parità, 8 bit di dati e 1 bit di arresto:

baud=1200 parity=N data=8 stop=1

[out] lpDCB

Puntatore a una struttura DCB che riceve le informazioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione BuildCommDCB regola solo i membri della struttura DCB interessati in modo specifico dal parametro lpDef , con le eccezioni seguenti:

  • Se la velocità baud specificata è 110, la funzione imposta i bit di arresto su 2 per rimanere compatibili con il comando modalità del sistema.
  • Per impostazione predefinita, BuildCommDCB disabilita il controllo del flusso XON/XOFF e hardware. Per abilitare il controllo del flusso, è necessario impostare in modo esplicito i membri appropriati della struttura DCB .
La funzione BuildCommDCB inserisce solo i membri della struttura DCB . Per applicare queste impostazioni a una porta seriale, usare la funzione SetCommState .

Esistono forme precedenti e più recenti della sintassi della modalità . La funzione BuildCommDCB supporta entrambi i moduli. Tuttavia, non è possibile combinare i due moduli.

La forma più recente della sintassi della modalità consente di impostare in modo esplicito i valori dei membri del controllo del flusso della struttura DCB . Se si usa una forma precedente della sintassi della modalità , la funzione BuildCommDCB imposta i membri del controllo del flusso della struttura DCB , come indicato di seguito:

  • Per una stringa che non termina con una x o una p:
    • fInX, fOutX, fOutXDsrFlow e fOutXCtsFlow sono tutti impostati su FALSE
    • fDtrControl è impostato su DTR_CONTROL_ENABLE
    • fRtsControl è impostato su RTS_CONTROL_ENABLE
  • Per una stringa che termina con una x:
    • fInX e fOutX sono entrambi impostati su TRUE
    • fOutXXDsrFlow e fOutXCtsFlow sono entrambi impostati su FALSE
    • fDtrControl è impostato su DTR_CONTROL_ENABLE
    • fRtsControl è impostato su RTS_CONTROL_ENABLE
  • Per una stringa che termina con un p:
    • fInX e fOutX sono entrambi impostati su FALSE
    • fOutXXDsrFlow e fOutXCtsFlow sono entrambi impostati su TRUE
    • fDtrControl è impostato su DTR_CONTROL_HANDSHAKE
    • fRtsControl è impostato su RTS_CONTROL_HANDSHAKE

Nota

L'intestazione winbase.h definisce BuildCommDCB come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP
Server minimo supportato Windows Server 2003
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di comunicazione

Risorse di comunicazione

DCB

SetCommState