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

 

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

DeviceIOControl, CreateFile, ReadFile, WriteFile στο kernel32.dll

Îåêßíçóå áðü ôï ìÝëïò mixio. Τελευταία δημοσίευση από το μέλος mixio στις 19-01-2009, 12:25. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-01-2009, 21:47 47669

    DeviceIOControl, CreateFile, ReadFile, WriteFile στο kernel32.dll

    Καλησπερες.

    Ξερει καποιος αν οι εν λογω συναρτησεις μας δινονται απο το .ΝΕΤ ή απο καπου αλλου;;;
    Επισης, πως θα μπορουσα να τις χαρακτηρισω; εννοω κατι σαν "Συναρτησεις πυρηνα"
    Sleep-deprived psychotic hacker

  •  15-01-2009, 23:47 47671 σε απάντηση της 47669

    Απ: DeviceIOControl, CreateFile, ReadFile, WriteFile ???

    Για να μπορέσει κανείς να απαντήσει πρέπει να έχει το πλήρες namespace τους.
    π.χ. το CreateFile δεν λέει κάτι μόνο του. Αν δεις το ολοκληρωμένο namespace (System.IO.File.CreateFile) μπορείς να βγάλεις συμπεράσματα.
    Που τις βλέπεις αυτές τις συναρτήσεις; Αν είναι σε κώδικα κάνε δεξί κλικ επάνω σε μια κλήση τους και επέλεξε Goto Definition.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  16-01-2009, 00:07 47672 σε απάντηση της 47671

    Απ: DeviceIOControl, CreateFile, ReadFile, WriteFile ???

    Δημήτρη, ο mixio δεν αναφέρεται στα functions του .NET αλλά στα native functions του λειτουργικού. Τα functions αυτά χρειάζονται όταν δουλεύει κανείς με device drivers και ειδικά όταν θέλεις να χρησιμοποιήσεις overlapped IO με network drivers (το μάντεψα σωστά?)

    mixio, το .NET δουλεύει σε ανώτερο επίπεδο από αυτό των drivers. Η File.Create μπορεί στο τέλος να καλεί την CreateFile, έχει όμως καλέσει και πολύ άλλο κώδικα εντωμεταξύ. Δεν μπορείς να χρησιμοποιήσεις απευθείας το .NET για να δουλέψεις με drivers. Θα πρέπει να καλέσεις τις CreateFile κλπ μέσω P/Invoke. Από την άλλη, όταν χρησιμοποιείς asynchronous sockets στο .NET εσωτερικά χρησιμοποιείται overlapped IO. Ίσως τελικά να μπορείς να κάνεις τη δουλειά που θέλεις χωρίς να χρειαστείς native functions.

    Όσον αφορά την ταξινόμηση τους κοίτα ... το documentation! Η DeviceIOControl βρίσκεται στην ενότητα Win 32 > System Services > Device Services > Device Management Services. Οι CreateFile, ReadFile, WriteFile στο Win32 > System Services > File and IO > File Management. Αν σκοπός σου είναι να αναφέρεις τα functions σε κάποια εργασία, θα πρότεινα να τις αναφέρεις σαν Device management functions.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  17-01-2009, 18:42 47712 σε απάντηση της 47672

    Απ: DeviceIOControl, CreateFile, ReadFile, WriteFile ???

    Αυτες οι συναρτησεις δεν βρίσκονται ολες στο kernel32.dll ; Το kernel32.dll δεν ειναι κοινο για ολα τα ειδη windows( WΜ, windows desktop ) ;
    Sleep-deprived psychotic hacker

  •  18-01-2009, 23:15 47734 σε απάντηση της 47712

    Απ: DeviceIOControl, CreateFile, ReadFile, WriteFile ???

    Μπορείς να βρεις το dll, τα library και header files καθώς και τις εκδόσεις στις οποίες υποστηρίζεται μία συνάρτηση τη σελίδα της στο MSDN. Αν θες να ψάξεις μόνο για Windows CE μπορείς να κοιτάξεις στο Windows Mobile SDK. Όντως, η CreateFile ορίζεται στο Kernel32 στα Windows, υπάρχει και στα Windows Mobile σε άλλη όμως βιβλιοθήκη. Όσο για το kernel32.dll ΔΕΝ είναι κοινό. Πέρα από τη βασικότερη διαφορά, ότι οι επεξεργαστές είναι διαφορετικοί, δεν υπάρχουν όλες οι συναρτήσεις του kernel32 στις αντίστοιχες βιβλιοθήκες των Windows Mobile, κυρίως για να περιοριστεί το μέγεθος των βιβλιοθηκών.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  19-01-2009, 12:25 47745 σε απάντηση της 47734

    Απ: DeviceIOControl, CreateFile, ReadFile, WriteFile ???

    ok, thx.
    Παντως μια ματια που εριξα στο msdn οι εν λογω συναρτησεις είναι όμοιες και για windows και για WM. Μαλλον ειναι πολυ βασικες.
    Sleep-deprived psychotic hacker

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems