Condividi tramite


Funzione BuildCommDCBAndTimeoutsA (winbase.h)

Converte una stringa di definizione del dispositivo in codici di blocco di controllo dispositivo appropriati e li inserisce in un blocco di controllo del dispositivo. La funzione può anche impostare valori di timeout, inclusa la possibilità di non timeout, per un dispositivo; Il comportamento della funzione in questo senso dipende dal contenuto della stringa di definizione del dispositivo.

Sintassi

BOOL BuildCommDCBAndTimeoutsA(
  [in]  LPCSTR         lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

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={111101515030300 606001212002424004848009696001919200}][parità={neoms}][data={5678}][stop={11,52}][to={off}][xon={onoff}][odsr={onoff}][octs={onoff}][dtr={onoffhs}][rts={onoffhstg}][idsr={onoff}]

La sottostringa "baud" può essere uno qualsiasi dei valori elencati, che sono in coppie. I valori a due cifre sono le prime due cifre dei valori associati che rappresentano. Ad esempio, 11 rappresenta 110 baud, 19 rappresenta 19.200 baud.

La sottostringa "parità" indica come viene usato il bit di parità per rilevare gli errori di trasmissione. I valori rappresentano "none", "even", "odd",
"mark" e "space".

Per altre informazioni, vedere le informazioni di riferimento sul comando modalità in TechNet.

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 di DCB che riceve informazioni dalla stringa di informazioni sul controllo del dispositivo a cui punta lpDef. Questa struttura DCB definisce le impostazioni di controllo per un dispositivo di comunicazione.

[out] lpCommTimeouts

Puntatore a una struttura di COMMTIMEOUTS che riceve informazioni sul timeout.

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 BuildCommDCBAndTimeouts modifica il comportamento di impostazione del timeout in base alla presenza o all'assenza di una sottostringa "to={on|off}" in lpDef:

  • Se tale stringa contiene la sottostringa "to=on", la funzione imposta il WriteTotalTimeoutConstant membro della struttura COMMTIMEOUTS su 60000 e tutti gli altri membri su 0.
  • Se tale stringa contiene la sottostringa "to=off", la funzione imposta i membri di COMMTIMEOUTS su 0.
  • Se tale stringa non specifica una sottostringa "to={on|off}", la funzione ignora la struttura COMMTIMEOUTS in lpCommTimeouts.
Per altre informazioni, vedere la sezione Osservazioni per la funzione BuildCommDCB .

Nota

L'intestazione winbase.h definisce BuildCommDCBAndTimeouts 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

BuildCommDCB

COMMTIMEOUTS

funzioni di comunicazione

risorse di comunicazione

DCB

GetCommTimeouts

setCommTimeouts di