Condividi tramite


Funzione BuildCommDCBA (winbase.h)

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

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 formato degli argomenti della riga di comando modalità comando:

COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][[off}][ xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][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 pari a 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 ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

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 la modalità del sistema comando.
  • Per impostazione predefinita, BuildCommDCB disabilita il controllo del flusso hardware e XON/XOFF. Per abilitare il controllo del flusso, è necessario impostare in modo esplicito i membri appropriati della struttura DCB .
La funzione BuildCommDCB compila 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. La funzione BuildCommDCB supporta entrambi i moduli. Tuttavia, non è possibile combinare le due forme.

La forma più recente della modalità sintassi consente di impostare in modo esplicito i valori dei membri del controllo di flusso della struttura DCB . Se si usa una forma precedente della sintassi 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, fOutXDsrFlowe 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
    • fOutXDsrFlow 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
    • fOutXDsrFlow 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP
server minimo supportato Windows Server 2003
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

funzioni di comunicazione

risorse di comunicazione

DCB

SetCommState