Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Driver

Îåêßíçóå áðü ôï ìÝëïò ntaryl. Τελευταία δημοσίευση από το μέλος ntaryl στις 22-02-2007, 21:07. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-02-2007, 19:54 25172

    Driver

    Καλησπερα παιδια
    καλη Σαρακοστη
    Λοιπον να με παλι με τις ανησυχιες μου
    Υπαρχει δυνατοτητα να γραφτει ενας driver παντα σε visual basic 6.0
    Δεν με απασχολει αν ειναι σε Kernel Mode η User Mode ?
    Αν ειναι εφικτο παρακαλω καποιο how -to η καποιο παραδειγματακι .
    Ευχαριστω πολυ και καλο βραδυ

    Rookie learn to fly U are my Inspiration...
    Who said Multithreading is impossible
    Try it First and after Deside if is Possible
  •  21-02-2007, 11:08 25254 σε απάντηση της 25172

    Απ: Driver

    Όχι δε γίνεται.
    Οι kernel-mode drivers γράφονται σε C και σε unmanaged C++ (η MS επίσημα υποστηρίζει ότι το "σωστό" είναι να γράφονται αποκλειστικά σε C, αλλά αν κάποιος θέλει/χρειάζεται driver σε unmanaged C++, τότε μπορεί να το κάνει με ΠΟΛΥ ΜΕΓΑΛΗ προσοχή, όπως φαίνεται απ'το http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx). To User-Mode Driver Framework (UMDF) υποστηρίζει user-mode drivers σε unmanaged C++ και γίνεται προσπάθεια για υποστήριξη managed κώδικα.
  •  21-02-2007, 16:40 25272 σε απάντηση της 25172

    Απ: Driver

    Ο λόγος για τον οποίο δεν μπορείς να φτιάξεις drivers σε VB6 είναι ότι όταν δουλεύεις στο επίπεδο των driver δεν υπάρχουν πλέον οι ευκολίες που σου δίνει το λειτουργικό για memory allocation, exception management, process management (δεν υπάρχουν πλέον processes) κλπ. Και η VB6 βασίζεται σε αυτά κατά κόρον, ενώ συνήθως φορές κρύβει το τί γίνεται στην πραγματικότητα για να απλοποιήσει τον προγραμματισμό. Επιπλέον, είναι πολύ δύσχρηστη για ένα περιβάλλον στο οποίο προσπαθεί κανείς να μην χάσει ούτε byte.

    Αν θέλεις να ασχοληθείς με drivers θα πρέπει να μάθεις C/C++ και να μπεις σε βαθειά νερά. Καθώς μάλιστα η υποστήριξη της VB6 έχει σταματήσει εδώ και 1-2 χρόνια, οποιαδήποτε νέα εξέλιξη όπως το UMDF δεν θα μπορεί να χρησιμοποιηθεί.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  22-02-2007, 00:32 25309 σε απάντηση της 25272

    Απ: Driver

    Καλησπερα και παλι φιλοι μου  

    Τελικα  απο πολυ ψαξιμο το να φτιαξεις  Kernell Mode Drivers  χρειαζεσαι υποχρεωτικα C

     Σχετικα με User Mode Drivers βρηκα το παρακατω Site  το οποιο υποστηριζει οτι ειναι Εφικτο  με αυτο

    http://www.jungo.com/wdusb.html

    καλο βραδυ

     


    Rookie learn to fly U are my Inspiration...
    Who said Multithreading is impossible
    Try it First and after Deside if is Possible
  •  22-02-2007, 03:52 25314 σε απάντηση της 25309

    Απ: Driver

    Έχεις δει ότι το πακέτο που λες κοστίζει $2500-$5000 (για PCI devices) ή $3500-$7000 (για USB devices), έτσι; Καθώς και ότι αν θες support, τότε πληρώνεις άλλα $800-$1600 (για PCI) ή $1100-$2100 (για usb). Επίσης, προφανώς μέσα από αυτό το πακέτο ξεχνάς οποιοδήποτε external support (βιβλία, blogs, newsgroups, samples, κτλ) σχετίζονται με driver development πέρα απ'το limited (πιθανώς) feedback που μπορεί να σου δώσει η εταιρία που το κατασκευάζει.

    Επίσης (όπως έγραψα παραπάνω), για kernel-mode driver μπορείς να χρησιμοποιήσεις (πέρα από C) και unmanaged C++ (με πολλή προσοχή!).
  •  22-02-2007, 14:07 25343 σε απάντηση της 25309

    Απ: Driver

    Η χρήση της C δεν είναι υποχρεωτική για τους Kernel Mode Drivers, φτάνει βέβαια να μην περιμένεις να καλέσεις τις ίδιες βιβλιοθήκες που χρησιμοποιείς για να φτιάξεις μία εφαρμογή. Εντολές όπως η malloc, new και delete καλούν συγκεκριμένες functions του λειτουργικού σε user mode, οι οποίες δεν υπάρχουν όταν δουλεύεις σε Kernel Mode. Χρειάζεται να χρησιμοποιήσεις διαφορετική έκδοση του runtime library για να μπορέσεις να κάνεις compile ένα driver γραμμένο είτε σε C είτε σε C++. Όταν επιλέγεις να φτιάξεις ένα driver, ο compiler θα χρησιμοποιήσει αυτές τις βιβλιοθήκες αντί για αυτές που χρησιμοποιεί για τις εφαρμογές.

    Από εκεί και πέρα, ο λόγος που δεν χρησιμοποιείται πολύ η C++ είναι ότι η χρήση virtual methods, inheritance και templates απαιτεί αρκετή μνήμη και ενδιάμεσες κλήσεις μέχρι να εκτελεστεί ο κατάλληλος κώδικας. Ακριβώς αυτά που ΔΕΝ θέλεις να συμβούν σε ένα driver, ειδικά σε Kernel Mode.

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  22-02-2007, 21:07 25362 σε απάντηση της 25343

    Απ: Driver

    Καλησπερα 

    Φολε  αυτο το πακετο εχει πολλα  καλουδια  αλλα δεν μπορω να βγαλω ακρη 

    κριμα  

    καλο  βραδυ

     


    Rookie learn to fly U are my Inspiration...
    Who said Multithreading is impossible
    Try it First and after Deside if is Possible
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems