Condividi tramite


Funzione BuildCommDCBAndTimeoutsW (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 BuildCommDCBAndTimeoutsW(
  [in]  LPCWSTR        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 del comando mode :

COMx[:][baud={11|110|15 150||30 300||60 600||12|1200|24 2400||48|4800|96 9600||19 19200|}][parity={n |e|o|M|s}] [data={5|6 7||8}][stop={1 1.5||2}][to={on| off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

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 sui comandi mode in TechNet.

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 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 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 informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

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 membro WriteTotalTimeoutConstant 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

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

BuildCommDCB

COMMTIMEOUTS

Funzioni di comunicazione

Risorse di comunicazione

DCB

GetCommTimeouts

SetCommTimeouts