File incluso per le funzioni Win32 di Proteus |
; Include file per le funzioni Win32 di Proteus
; **** Parametri per W32CREATEFILE ****
; modo di accesso
; sola lettura
CONST W32_GENERIC_READ 0x80000000
; sola scrittura
CONST W32_GENERIC_WRITE 0x40000000
; tipo condivisione
; ammette altri accessi in sola lettura
CONST W32_FILE_SHARE_READ 1
; ammette altri accessi in sola scrittura
CONST W32_FILE_SHARE_WRITE 2
; ammette altri accessi solo per cancellazione
CONST W32_FILE_SHARE_DELETE 4
; disposizioni per la creazione
; crea un nuovo file; fallisce se il file esiste
CONST W32_CREATE_NEW 1
; crea un nuovo file; se esiste, lo sovrascrive ed azzera gli attributi
CONST W32_CREATE_ALWAYS 2
; apre un file; fallisce se il file non esiste
CONST W32_OPEN_EXISTING 3
; apre il file; se non esiste, lo crea
CONST W32_OPEN_ALWAYS 4
; apre il file e lo tronca a lunghezza 0 (richiede i diritti di scrittura);
; fallisce se il file non esiste
CONST W32_TRUNCATE_EXISTING 5
; attributi
; file di sola lettura
CONST W32_FILE_ATTRIBUTE_READONLY 0x1
; file nascosto
CONST W32_FILE_ATTRIBUTE_HIDDEN 0x2
; file di sistema
CONST W32_FILE_ATTRIBUTE_SYSTEM 0x4
; contrassegna il file come da archiviare
CONST W32_FILE_ATTRIBUTE_ARCHIVE 0x20
; file normale (da usarsi da solo)
CONST W32_FILE_ATTRIBUTE_NORMAL 0x80
; file temporaneo; il file system cerca di mantenerlo in memoria;
; da cancellare da parte dell'utente non appena non è pi· necessario
CONST W32_FILE_ATTRIBUTE_TEMPORARY 0x100
; file non immediatamente disponibile (spostato offline)
CONST W32_FILE_ATTRIBUTE_OFFLINE 0x1000
; scrittura diretta su disco non appena possibile
CONST W32_FILE_FLAG_WRITE_THROUGH 0x80000000
; file ad accesso casuale (per ottimizzare il caching)
CONST W32_FILE_FLAG_RANDOM_ACCESS 0x10000000
; accesso sequenziale dall'inizio alla fine (per ottimizzare caching);
; il riposizionamento del file pointer è comunque ammesso
CONST W32_FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
; cancellazione alla chiusura del file da parte di tutti i processi che l'hanno aperto
CONST W32_FILE_FLAG_DELETE_ON_CLOSE 0x04000000
; nel caso di apertura di named pipe:
; informazioni sulla qualità della sicurezza del servizio presenti
CONST W32_SECURITY_SQOS_PRESENT 0x00100000
; anonimo
CONST W32_SECURITY_ANONYMOUS 0
; identificazione
CONST W32_SECURITY_IDENTIFICATION 0x10000
; impersonificazione
CONST W32_SECURITY_IMPERSONATION 0x20000
; delega
CONST W32_SECURITY_DELEGATION 0x30000
; modalità tracciamento sicurezza dinamica
CONST W32_SECURITY_CONTEXT_TRACKING 0x40000
; solo gli aspetti abilitati del contesto di sicurezza dell'utente sono disponibili al server
CONST W32_SECURITY_EFFECTIVE_ONLY 0x80000
; -----------------------------------------------------------------------------------------
; **** Parametri per W32GETCOMSTATE/W32SETCOMSTATE ****
; flags:
; trasmissione binaria, ignora il carattere EOF
CONST W32_COM_BINARY 1
; imposta il controllo di parità
CONST W32_COM_PARITY_ON 2
; abilita il controllo di flusso CTS/RTS
CONST W32_COM_CTSFLOW_ON 4
; abilita il controllo di flusso DSR/DTR
CONST W32_COM_DSRFLOW_ON 8
; abilita la linea linea DTR quando il dispositivo viene aperto e la lascia abilitata
CONST W32_COM_DTR_ENABLE 16
; abilita l'handshake via DTR
CONST W32_COM_DTR_HANDSHAKE 32
; specifica se il driver è sensibile allo stato del DSR; se impostato, il driver ignora
; qualsiasi carattere ricevuto quando la linea non è alta
CONST W32_COM_DSR_SENSITIVITY 64
; XOFF fa continuare la trasmissione
CONST W32_COM_XOFF_CONTINUE 128
; XON/XOFF handshake in uscita
CONST W32_COM_XONXOFF_OUT 256
; XON/XOFF handshake in ingresso
CONST W32_COM_XONXOFF_IN 512
; utilizza il carattere di errore in caso di parità errata
CONST W32_COM_USE_ERRORCH 1024
; elimina i caratteri NULL (chr(0)) dallo stream
CONST W32_COM_STRIP_NULL 2048
; attiva l'RTS quando apre il dispositivo e lo mantiene abilitato
CONST W32_COM_RTS_ENABLE 4096
; abilita l'handshake: il driver alza l'RTS quando il buffer di input è pieno a metà o meno
; e lo abbassa quando il buffer è pieno a tre quarti.
CONST W32_COM_RTS_HANDSHAKE 8192
; alza l'RTS se ci sono bytes da trasmettere, lo abbassa quando sono stati trasmessi
CONST W32_COM_RTS_TOGGLE 12288
; termina operazioni di read/write in caso di errore; non saranno accettate altre
; comunicazioni prima di un'invocazione di W32ClearComErr
CONST W32_COM_ERROR_ABORT 16384
; parità nessuna
CONST W32_COM_PARITY_NONE 0
; parità dispari
CONST W32_COM_PARITY_ODD 1
; parità pari
CONST W32_COM_PARITY_EVEN 2
; parità contrassegna
CONST W32_COM_PARITY_MARK 3
; parità spazio
CONST W32_COM_PARITY_SPACE 4
; 1 bit di stop
CONST W32_COM_STOP_1 0
; 1.5 bit di stop
CONST W32_COM_STOP_15 1
; 2 bit di stop
CONST W32_COM_STOP_2 2
; lunghezza del DCB
CONST W32_COM_GS_DCBLENGTH 1
; baud rate
CONST W32_COM_GS_BAUD 2
; flags
CONST W32_COM_GS_FLAGS 3
; soglia per trasmissione XON
CONST W32_COM_GS_TXON 5
; soglia per trasmissione XOFF
CONST W32_COM_GS_TXOFF 6
; numero bit
CONST W32_COM_GS_BIT 7
; parità
CONST W32_COM_GS_PARITY 8
; bit di stop
CONST W32_COM_GS_STOP 9
; carattere XON
CONST W32_COM_GS_XONCHAR 10
; carattere XOFF
CONST W32_COM_GS_XOFFCHAR 11
; carattere errore
CONST W32_COM_GS_ERRCHAR 12
; carattere EOF
CONST W32_COM_GS_EOFCHAR 13
; carattere per evento ricezione
CONST W32_COM_GS_RXCHAR 14
; -----------------------------------------------------------------------------------------
; **** Parametri per W32SETCOMTIMEOUTS ****
; intervallo timeout di lettura
CONST W32_COM_TO_READ 1
; moltiplicatore timeout lettura
CONST W32_COM_TO_READMUL 2
; costante timeout lettura
CONST W32_COM_TO_READCONST 3
; moltiplicatore timeout scrittura
CONST W32_COM_TO_WRITEMUL 4
; costante timeout scrittura
CONST W32_COM_TO_WRITECONST 5
; -----------------------------------------------------------------------------------------
; **** Parametri per W32PURGECOM ****
; cancella il buffer di trasmissione
CONST W32_PURGE_TXCLEAR 0x0004
; cancella il buffer di ricezione
CONST W32_PURGE_RXCLEAR 0x0008
; -----------------------------------------------------------------------------------------
; **** Parametri per W32ESCCOMFUNC ****
; simula la ricezione di un carattere XOFF
CONST W32_COM_SETXOFF 1
; simula la ricezione di un carattere XON
CONST W32_COM_SETXON 2
; alza il segnale RTS (request-to-send)
CONST W32_COM_SETRTS 3
; abbassa il segnale RTS (request-to-send)
CONST W32_COM_CLRRTS 4
; alza il segnale DTR (data-terminal-ready)
CONST W32_COM_SETDTR 5
; abbassa il segnale DTR (data-terminal-ready)
CONST W32_COM_CLRDTR 6
; resetta il dispositivo, se possibile
CONST W32_COM_RESETDEV 7
; sospende la trasmissione del carattere e pone la linea
; di trasmissione in stato di break fino all'invocazione
; della funzione EscComFunc con CLRBREAK.
; Si noti che questa funzione estesa non scarica i dati
; che non sono stati trasmessi.
CONST W32_COM_SETBREAK 8
; ripristina la trasmissione dei caratteri e pone la
; linea di trasmissione in uno stato fuori break.
CONST W32_COM_CLRBREAK 9
; -----------------------------------------------------------------------------------------
; **** Parametri per W32CLEARCOMERR ****
; overflow nel buffer di ingresso. Non c'è spazio nel buffer di input,
; o un carattere è stato ricevuto dopo il carattere EOF.
CONST W32_CE_RXOVER 0x0001
; trabocco del buffer caratteri. Il successivo carattere è perso.
CONST W32_CE_OVERRUN 0x0002
; l'hardware ha rilevato un errore di parità.
CONST W32_CE_RXPARITY 0x0004
; l'hardware ha rilevato un errore di framing
CONST W32_CE_FRAME 0x0008
; l'hardware ha rilevato una condizione di break
CONST W32_CE_BREAK 0x0010
; l'applicazione ha provato a trasmettere un carattere, ma il buffer di
; uscita era pieno.
CONST W32_CE_TXFULL 0x0100
; Windows 95 o superiore: time-out sul dispositivo parallelo.
CONST W32_CE_PTO 0x0200
; un errore di I/O error è accaduto durante la comunicazione con il dispositivo
CONST W32_CE_IOE 0x0400
; Windows 95 o superiore: dispositivo parallelo non selezionato
CONST W32_CE_DNS 0x0800
; Windows 95 o superiore: un dispositivo parallelo ha segnalato che ha esaurito la carta.
CONST W32_CE_OOP 0x1000
; il modo richiesto non è supportato, o il parametro handle è errato;
; se questo flag è impostato, è l'unico errore valido.
CONST W32_CE_MODE 0x8000
; indici del vettore vST
; stato
CONST W32_CE_STATUS 1
; bytes nella coda di ricezione
CONST W32_CE_RXBYTES 2
; bytes nella coda di trasmissione
CONST W32_CE_TXBYTES 3
; -----------------------------------------------------------------------------------------
; **** Parametri per W32WAITCOMMEVT ****
; Ricevuto un carattere qualunque
CONST EV_RXCHAR 0x0001
; Ricevuto un certo carattere
CONST EV_RXFLAG 0x0002
; Coda di trasmissione vuota
CONST EV_TXEMPTY 0x0004
; Cambiato lo stato di CTS
CONST EV_CTS 0x0008
; Cambiato lo stato di DSR
CONST EV_DSR 0x0010
; Cambiato lo stato di RLSD
CONST EV_RLSD 0x0020
; Ricevuto BREAK
CONST EV_BREAK 0x0040
; Si è verificato un errore sullo stato della linea
CONST EV_ERR 0x0080
; Rilevata suoneria
CONST EV_RING 0x0100
; Errore sulla stampante
CONST EV_PERR 0x0200
; Il buffer di ricezione è pieno all'80%
CONST EV_RX80FULL 0x0400
; Evento specifico #1 del provider
CONST EV_EVENT1 0x0800
; Evento specifico #2 del provider
CONST EV_EVENT2 0x1000
; -----------------------------------------------------------------------------------------
; **** Parametri per per W32GETMODEMSTATUS ****
CONST MS_CTS_ON 0x0010
CONST MS_DSR_ON 0x0020
CONST MS_RING_ON 0x0040
CONST MS_RLSD_ON 0x0080
; -----------------------------------------------------------------------------------------
; **** Parametri per W32GETWINDOW ****
; finestra figlia
CONST GW_CHILD 5
; pop-up abilitato
CONST GW_ENABLEDPOPUP 6
; prima finestra
CONST GW_HWNDFIRST 0
; ultima finestra
CONST GW_HWNDLAST 1
; successiva finestra
CONST GW_HWNDNEXT 2
; precedente finestra
CONST GW_HWNDPREV 3
; proprietario della finestra
CONST GW_OWNER 4
; -----------------------------------------------------------------------------------------
; Flag di COMSTAT
; trasmissione in attesa del segnale CTS
CONST W32_CE_CTSHOLD 0x0001
; trasmissione in attesa del segnale DSR
CONST W32_CE_DSRHOLD 0x0002
; trasmissione in attesa del segnale RLSD
CONST W32_CE_RLSDHOLD 0x0004
; trasmissione in attesa, ricevuto carattere XOFF
CONST W32_CE_XOFFHOLD 0x0008
; trasmissione in attesa, inviato carattere XOFF
CONST W32_CE_XOFFSENT 0x0010
; inviato il carattere EOF
CONST W32_CE_EOF 0x0020
; carattere in attesa di trasmissione
CONST W32_CE_TXIM 0x0040
; -----------------------------------------------------------------------------------------
; **** Parametri per le funzioni sui registri ****
CONST W32_HKEY_CLASSES_ROOT 0x80000000
CONST W32_HKEY_CURRENT_USER 0x80000001
CONST W32_HKEY_LOCAL_MACHINE 0x80000002
CONST W32_HKEY_USERS 0x80000003
CONST W32_HKEY_PERFORMANCE_DATA 0x80000004
CONST W32_HKEY_CURRENT_CONFIG 0x80000005
; nessun tipo di valore
CONST W32_REG_NONE 0
; stringa Unicode terminata con NULL
CONST W32_REG_SZ 1
; stringa Unicode terminata con NULL (con riferimenti alle variabili di ambiente)
CONST W32_REG_EXPAND_SZ 2
; formato binario libero
CONST W32_REG_BINARY 3
; numero a 32-bit
CONST W32_REG_DWORD 4
; numero a 32-bit (formato "big endian")
CONST W32_REG_DWORD_BIG_ENDIAN 5
; collegamento simbolico (Unicode)
CONST W32_REG_LINK 6
; stringhe Unicode multiple
CONST W32_REG_MULTI_SZ 7
; lista risorse nella mappa risorse
CONST W32_REG_RESOURCE_LIST 8
; lista risorse nella descrizione del hardware
CONST W32_REG_FULL_RESOURCE_DESCRIPTOR 9
; lista risorse nella lista requisiti
CONST W32_REG_RESOURCE_REQUIREMENTS_LIST 10
; -----------------------------------------------------------------------------------------
; **** Parametri per le funzioni sulle pipe ****
; server legge, client scrive
CONST PIPE_ACCESS_INBOUND 1
; server scrive, client legge
CONST PIPE_ACCESS_OUTBOUND 2
; server e client possono scrivere e leggere
CONST PIPE_ACCESS_DUPLEX 3
; modalità bloccante
CONST PIPE_WAIT 0
; modalità non bloccante
CONST PIPE_NOWAIT 1
; modalità di lettura a byte
CONST PIPE_READMODE_BYTE 0
; modalità di lettura a messaggio
CONST PIPE_READMODE_MESSAGE 2
; tipo byte
CONST PIPE_TYPE_BYTE 0
; tipo messaggio
CONST PIPE_TYPE_MESSAGE 4
; numero illimitato di istanze della pipe
CONST PIPE_UNLIMITED_INSTANCES 255
; attende indifinitamente
CONST NMPWAIT_WAIT_FOREVER 0xffffffff
; non attende
CONST NMPWAIT_NOWAIT 1
; utilizza l'attesa predefinita
CONST NMPWAIT_USE_DEFAULT_WAIT 0