Skip to main content

Scambio Dinamico Di Dati Forex


Questa documentazione viene archiviato e non viene mantenuta. A proposito di Windows Dynamic Data Exchange fornisce diversi metodi per il trasferimento di dati tra le applicazioni. Un metodo è quello di utilizzare il protocollo Dynamic Data Exchange (DDE). Il protocollo DDE è un insieme di messaggi e linee guida. Si invia messaggi tra le applicazioni che condividono dati e utilizza memoria condivisa per lo scambio di dati tra le applicazioni. Le applicazioni possono utilizzare il protocollo DDE per il trasferimento dei dati di una volta e per continui scambi in cui le applicazioni inviano aggiornamenti uni gli altri come rendono disponibili nuovi dati. Windows supporta anche i dati della libreria Exchange Management dinamica (DDEML). Il DDEML è una libreria di collegamento dinamico (DLL) che le applicazioni possono utilizzare per condividere i dati. Il DDEML fornisce funzioni e messaggi che semplificano il compito di aggiungere capacità di DDE per un'applicazione. Invece di inviare, distacco, e messaggi di elaborazione DDE direttamente, un'applicazione utilizza le funzioni DDEML per gestire le conversazioni DDE. (Una conversazione DDE è l'interazione tra le applicazioni client e server.) Il DDEML prevede anche un impianto per la gestione delle stringhe e dei dati che le applicazioni di condivisione DDE. Invece di usare atomi e puntatori ad oggetti di memoria condivisa, applicazioni DDE creano e maniglie stringa di scambio, che identificano le stringhe, e gestisce i dati, che identificano oggetti di memoria. Il DDEML rende anche possibile per un'applicazione server per registrare i nomi dei servizi che supporta. I nomi vengono trasmessi ad altre applicazioni del sistema, che possono utilizzare i nomi per la connessione al server. Inoltre, il DDEML garantisce la compatibilità tra le applicazioni DDE, costringendoli a implementare il protocollo DDE in modo coerente. Le applicazioni esistenti che utilizzano il protocollo DDE basato sui messaggi sono pienamente compatibili con quelli che utilizzano il DDEML. Cioè, un'applicazione che utilizza DDE basata su messaggi in grado di stabilire conversazioni ed effettuare transazioni con le applicazioni che utilizzano il DDEML. A causa dei molti vantaggi della DDEML, nuove applicazioni dovrebbero utilizzare invece dei messaggi DDE. Per utilizzare gli elementi API del DDEML, è necessario includere il file di intestazione DDEML nei file di origine, creare un collegamento con la libreria DDEML, e far sì che la libreria di collegamento dinamico DDEML è nel percorso di ricerca dei sistemi. I seguenti argomenti sono discussi in questa sezione. Dynamic Data Exchange Protocol Dato che Windows ha una architettura basata su messaggi, passando messaggi è il metodo più appropriato per trasferire automaticamente le informazioni tra le applicazioni. Tuttavia, i messaggi contengono solo due parametri (wParam e lParam) per il passaggio di dati. Come risultato, questi parametri devono riferirsi indirettamente ad altri dati quando più di poche parole di informazioni passaggio tra le applicazioni. Il protocollo DDE definisce esattamente come le applicazioni devono utilizzare i parametri wParam e lParam di passare più grandi pezzi di dati per mezzo di atomi globali e le maniglie di memoria condivisa. Il protocollo DDE ha regole specifiche per l'assegnazione e l'eliminazione di atomi globali e gli oggetti di memoria condivisa. Un atomo globale è un riferimento a una stringa di caratteri. Nel protocollo DDE, atomi identificano le applicazioni scambiano dati, la natura dei dati scambiati, e gli elementi di dati stessi. Per ulteriori informazioni su atomi, vedere Informazioni atomi. Utilizza per Windows Dynamic Data scambio DDE è più appropriato per lo scambio di dati che non richiedono interazione da parte dell'utente in corso. Solitamente, un'applicazione fornisce un metodo per l'utente di stabilire il collegamento tra le applicazioni che si scambiano dati. Una volta che il collegamento è stabilito, tuttavia, applicazioni per lo scambio dati senza ulteriore coinvolgimento dell'utente. DDE può essere utilizzato per implementare una vasta gamma di funzionalità di applicazioni, ad esempio: Collegamento a dati in tempo reale, come ad esempio per gli aggiornamenti di borsa, strumenti scientifici, o controllo di processo. Creazione di documenti compositi, ad esempio un documento di elaborazione testi che include un grafico prodotto da un'applicazione grafica. Utilizzando DDE, il grafico cambierà quando i dati sorgente viene modificata, mentre il resto del documento rimane lo stesso. Esecuzione di query di dati tra le applicazioni, come ad esempio un foglio di calcolo interrogazione di una banca dati per gli account scaduti. Dynamic Data Exchange dagli utenti punto di vista seguente esempio illustra come due applicazioni DDE possono cooperare, come si è visto dal punto di vista degli utenti. Un utente foglio di calcolo vuole utilizzare Microsoft Excel per monitorare il prezzo di una particolare azione sul New York Stock Exchange. L'utente ha un'applicazione chiamata citazione che a sua volta ha accesso ai dati NYSE. La conversazione DDE tra Excel e citazione avviene nel modo seguente: l'utente avvia la conversazione fornendo il nome dell'applicazione (citazione) che fornirà i dati e la particolare argomento di interesse (NYSE). La conversazione DDE risultante viene utilizzato per richiedere preventivi su scorte specifiche. Excel trasmette i nomi delle applicazioni e argomenti a tutte le applicazioni attualmente in esecuzione DDE nel sistema. Citazione risponde, stabilire una conversazione con Excel sull'argomento NYSE. L'utente può quindi creare un foglio di calcolo formula in una cella che richiede che il foglio di calcolo viene automaticamente aggiornato ogni volta che un particolare cambiamenti magazzino virgolette. Ad esempio, l'utente potrebbe richiedere un aggiornamento automatico ogni volta che si verifica una variazione nel prezzo di vendita del magazzino ZAXX specificando la seguente formula di Excel: QuoteNYSEZAXX L'utente può terminare l'aggiornamento automatico del ZAXX magazzino offerta in qualsiasi momento. Altri collegamenti dati che sono stati stabiliti separatamente (come ad esempio per le citazioni di altri stock) ancora rimarranno attivi sotto la stessa conversazione NYSE. L'utente può anche terminare l'intera conversazione tra Excel e citazione sul tema NYSE, in modo che nessun link di dati specifici su questo argomento possono essere stabilite senza avviare una nuova conversazione. Dynamic Data Exchange Concetti Le seguenti sezioni spiegano i concetti e la terminologia importanti che sono fondamentali per comprendere lo scambio di dati dinamico. Client, Server, e conversazione a due applicazioni che partecipano a DDE sono detto di essere impegnato in una conversazione DDE. L'applicazione che avvia la conversazione è l'applicazione client DDE l'applicazione che risponde al client è l'applicazione server DDE. Un'applicazione può impegnarsi in più conversazioni contemporaneamente, agendo come client in alcuni e come server in altri. Una conversazione DDE avviene tra due finestre, una per ciascuna delle applicazioni partecipanti. Una finestra può essere la finestra principale dell'applicazione una finestra associata con un documento specifico, come in una interfaccia a documenti multipli applicazione (MDI) o da una finestra nascosta (invisibile) il cui unico scopo è quello di elaborare i messaggi DDE. Da una conversazione DDE è identificato dalla coppia di maniglie per finestre impegnati nella conversazione, senza finestra deve essere impegnato in più di una conversazione con un'altra finestra. In entrambi i casi l'applicazione client o l'applicazione server deve fornire una finestra diversa per ciascuna delle sue conversazioni con un particolare server o un'applicazione client. Un'applicazione può assicurare una coppia di finestre client e server non è coinvolto in più di una conversazione creando una finestra nascosta per ogni conversazione. L'unico scopo di questa finestra è quello di elaborare i messaggi DDE. Applicazione, nomi degli argomenti, e Voce Il protocollo DDE individua le unità di dati passati tra il client e server con una gerarchia a tre livelli di nomi di applicazione, argomento, e voce. Ogni conversazione DDE è definito unicamente dal nome dell'applicazione e argomento. All'inizio di una conversazione DDE, il client e il server determinano il nome dell'applicazione e soggetto. Il nome dell'applicazione è di solito il nome dell'applicazione server. Ad esempio, quando Excel funge da server in una conversazione, il nome dell'applicazione è Excel. L'argomento DDE è una classificazione generale dei dati entro il quale possono essere discusse più elementi di dati (scambiati) durante la conversazione. Per le applicazioni che operano su documenti basati su file, l'argomento è di solito un nome di file. Per altre applicazioni, l'argomento è un nome specifico dell'applicazione. Poiché la finestra del client e il server gestisce insieme identificano una conversazione DDE, il nome dell'applicazione e argomento che definiscono una conversazione non possono essere modificati nel corso della conversazione. Un elemento di dati DDE sono informazioni relative all'argomento conversazione scambiati tra le applicazioni. I valori per l'elemento di dati possono essere trasmessi dal server al client, oppure dal client al server. I dati possono essere passati con uno qualsiasi dei formati di appunti standard o di formato degli Appunti registrato. Un formato speciale, registrata nome Link identifica un oggetto in una conversazione DDE. Per ulteriori informazioni sui formati degli Appunti, Appunti vedere. Le applicazioni del sistema argomento dovrebbe sostenere il tema del sistema in ogni momento. Questo argomento fornisce un contesto per informazioni che possono essere di interesse generale a un'altra applicazione. I valori dei dati-voce devono essere resi nel formato Appunti CFTEXT. I singoli elementi di valori degli elementi per un argomento di sistema devono essere delimitati da caratteri di tabulazione. La tabella seguente indica alcuni elementi per il tema del sistema. Termina un collegamento permanente dei dati. Un'applicazione chiama SendMessage per emettere il messaggio WMDDEINITIATE o un messaggio WMDDEACK inviato in risposta al WMDDEINITIATE. Tutti gli altri messaggi sono inviati da PostMessage. Il primo parametro di queste chiamate è un handle alla finestra riceve il secondo parametro contiene il messaggio da inviare il terzo parametro identifica la finestra di invio e il quarto parametro contiene gli argomenti specifici messaggi. Dynamic Data Exchange flusso dei messaggi Una conversazione tipica DDE è costituito dai seguenti eventi: L'applicazione client inizia la conversazione, e l'applicazione server risponde. I dati di scambio applicazioni da qualsiasi o tutti i seguenti metodi: L'applicazione server invia i dati al client su richiesta client. L'applicazione client invia i dati non richiesti per l'applicazione server. L'applicazione client richiede l'applicazione server per notificare al cliente ogni volta che un elemento di dati cambia (data link caldo). L'applicazione client richiede l'applicazione server per inviare i dati ogni volta che le modifiche dei dati (data link calda). L'applicazione server esegue un comando di richiesta clienti. In entrambi i casi l'applicazione client o server termina la conversazione. Una finestra dell'applicazione che elabora le richieste da un client o un server di loro deve elaborare rigorosamente nell'ordine in cui vengono ricevuti. Un client può stabilire conversazioni con più di un server di un server può avere conversazioni con più di un cliente. Quando la gestione dei messaggi da più di una fonte, un client o server deve elaborare i messaggi di una conversazione in modo sincrono, ma non è necessario elaborare tutti i messaggi in modo sincrono. In altre parole, si può passare da una conversazione all'altra come necessario. Se un'applicazione è in grado di elaborare una richiesta in entrata perché è in attesa di una risposta DDE, si deve impedire stallo inviando un messaggio WMDDEACK con il membro fBusy della struttura DDEACK impostato a 1. La domanda può anche inviare un messaggio di occupato se WMDDEACK , per qualsiasi motivo, non può elaborare una richiesta in arrivo entro un ragionevole lasso di tempo. Un'applicazione dovrebbe essere in grado di gestire il fallimento di un client o server per rispondere ad un messaggio entro un certo tempo. Poiché l'intervallo di timeout può variare a seconda della natura dell'applicazione e la configurazione del sistema di utenze (incluso se è collegata a una rete), l'applicazione deve fornire un modo per l'utente di specificare l'intervallo. Funzioni di imballaggio di parametri Il parametro lParam di molti messaggi DDE contiene due pezzi di dati. Ad esempio, il lParam del messaggio WMDDEDATA contiene un handle di dati e un atomo. Applicazioni devono utilizzare la funzione PackDDElParam per imballare la maniglia e atomo in un parametro lParam, e la funzione UnpackDDElParam per rimuovere i valori. applicazioni DDE devono utilizzare PackDDElParam e UnpackDDElParam per tutti i messaggi inviati durante una conversazione DDE. Le applicazioni possono utilizzare anche le funzioni ReuseDDElParam e FreeDDElParam. ReuseDDElParam consente a un'applicazione DDE di riutilizzare un parametro lParam imballato, contribuendo a ridurre il numero di riassegnazioni di memoria l'applicazione deve eseguire durante una conversazione. Un'applicazione può utilizzare FreeDDElParam per liberare la memoria associata con un manico dati ricevuti durante una conversazione DDE. Dynamic Data Exchange e rappresentazione Per consentire a un server di impersonare un client, il client chiama la funzione DdeSetQualityOfService. La struttura SECURITYIMPERSONATIONLEVEL viene utilizzato per controllare il livello di rappresentazione può eseguire il server. Un server DDE può impersonare un client DDE chiamando la funzione ImpersonateDdeClientWindow. Un server DDEML dovrebbe usare la DdeImpersonateClient function. Dynamic Data Exchange Specifica la qualità del servizio (QoS) una cruda applicazione Dynamic Data Exchange (DDE) desidera per future conversazioni DDE darà avvio. La QOS specificato si applica a tutte le conversazioni iniziato mentre quelle impostazioni sono in atto. Un conversazioni DDE qualità del servizio dura per tutta la durata della conversazione chiama la funzione DdeSetQualityOfService durante una conversazione non influenzano che le conversazioni QOS. Libera la memoria specificato dal parametro lParam di un messaggio DDE inviato. Un'applicazione che riceve un messaggio DDE inviato dovrebbe chiamare questa funzione dopo che è utilizzata la funzione UnpackDDElParam per decomprimere il valore lParam. Consente un'applicazione server DDE per impersonare un applicazioni client contesto di protezione DDE. Questo protegge i dati del server sicuro dal client non autorizzati DDE. Racchiude un valore di DDE lParam in una struttura interna utilizzata per la condivisione dei dati tra processi DDE. Consente a un'applicazione di riutilizzare un parametro imballato DDE lParam, piuttosto che l'assegnazione di una nuova lParam imballato. Utilizzando questa funzione riduce riassegnazioni per le applicazioni che passano imballati messaggi DDE. Spacchetta un valore DDE lParam ricevuto da un messaggio postato DDE. DDE messaggi avvia una conversazione con un'applicazione server rispondendo ai nomi delle applicazioni e argomenti specifici. Dopo aver ricevuto questo messaggio, ci si aspetta tutte le applicazioni server con nomi che corrispondono l'applicazione specificata e che supportano l'argomento specificato di riconoscerlo. DDE Notifiche Nnotifies una applicazione DDE della ricezione e del trattamento dei seguenti messaggi: WMDDEPOKE. WMDDEEXECUTE. WMDDEDATA. WMDDEADVISE. WMDDEUNADVISE. WMDDEINITIATE. o WMDDEREQUEST (in alcuni casi). A DDE messaggi dell'applicazione client il messaggio WMDDEADVISE a un'applicazione server DDE per richiedere al server di fornire un aggiornamento per un elemento di dati ogni volta che la voce cambia. Una applicazione messaggi server DDE un messaggio di WMDDEDATA a un'applicazione client DDE per passare un dato al cliente o per notificare al cliente la disponibilità di un elemento di dati. A DDE messaggi applicativi client un messaggio di WMDDEEXECUTE a un'applicazione server DDE per inviare una stringa al server per essere elaborati come una serie di comandi. L'applicazione server dovrebbe registrare un messaggio WMDDEACK in risposta. Un client DDE applicazione inserisce un messaggio WMDDEPOKE a un'applicazione server DDE. Un client utilizza questo messaggio per richiedere al server di accettare un elemento di dati non richiesti. Il server è previsto per rispondere con un messaggio che indica se WMDDEACK ha accettato l'elemento di dati. A DDE messaggi applicativi client un messaggio WMDDEREQUEST a un'applicazione server DDE per richiedere il valore di un elemento di dati.

Comments