none
Imcompréhension de structures demandées RRS feed

  • Question

  • Bonjour à tous,

    je sollicite votre aide de mener à bien mon projet en cours (développement d'un driver en C#).

    A l'heure, j'essaie d'utiliser des méthodes via un wrapper (C/C#), que j'ai créé. Cependant, il y a des paramètres dans l'une des méthodes qui me dérange un peu et qui est la suivante :

    [DllImport("MSXFS.dll", EntryPoint = "WFSExecute")]
    public static extern int WFSExecute(IntPtr hService, string dwCommand,IntPtr lpCmdData,ushort dwTimeOut, IntPtr lppResult);

    Les paramètres en question sont :

    IntPtr lpCmdData et IntPtr lppResult.

    Par cette méthode, je veux utiliser la commande suivante :

    public static int WFS_CMD_CIM_OPEN_SHUTTER = 1300 + 6;

    Voici le descriptif de la commande "Open Shutter" :

    Voici le descriptif de la méthode WFSExecute :

    Voilà, j'aurais mettre plus d'images mais je suis limité. Si vous voulez d'autes précisions, n'hésitez pas.

    Cordialement.

    jeudi 7 juin 2012 15:10

Réponses

  • Bonjour,

    Un driver en C# ? Cela me semble curieux ! Ou on utilise C# pour tester un driver écrit en C ?

    Je ne suis pas sûr de la question. En gros cela veut dire que l'on peut passer un pointeur sur n'importe quoi et recupérer un pointeur sur n'importe quoi (c'est le cas généralement quand un appel accepte des structures diverses et variées). La doc doit sans indiquer ailleurs quelle est la liste des structures acceptées et retounées (peut-être dans avec la liste de toutes les commandes possibles, l'idée étant sans doute que chaque commande va passer les données qui correspondent à cette commande).

    Accessoirement la commande n'est pas une chaine de caractère mais un DWORD : http://msdn.microsoft.com/en-us/library/cc230318(v=prot.10).aspx


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".


    jeudi 7 juin 2012 15:56
    Modérateur

Toutes les réponses

  • Bonjour,

    Un driver en C# ? Cela me semble curieux ! Ou on utilise C# pour tester un driver écrit en C ?

    Je ne suis pas sûr de la question. En gros cela veut dire que l'on peut passer un pointeur sur n'importe quoi et recupérer un pointeur sur n'importe quoi (c'est le cas généralement quand un appel accepte des structures diverses et variées). La doc doit sans indiquer ailleurs quelle est la liste des structures acceptées et retounées (peut-être dans avec la liste de toutes les commandes possibles, l'idée étant sans doute que chaque commande va passer les données qui correspondent à cette commande).

    Accessoirement la commande n'est pas une chaine de caractère mais un DWORD : http://msdn.microsoft.com/en-us/library/cc230318(v=prot.10).aspx


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".


    jeudi 7 juin 2012 15:56
    Modérateur
  • Bonjour,

    je réalise une implémentation d'un driver en C# avec un librairie écrite en C (c'est ma première fois). Je voulais juste savoir à quoi correspondait les paramètres :

    IntPtr lpCmdData et IntPtr lppResult.

    J'ai recherché ce que la méthode pourrait me demander dans la documentation XFS, au niveau des structures. Mais je n'ai rien trouvé, peut être que je vais chercher trop loin dans l'analyse. Auriez-vous quelque chose à me conseiller?

    Cordialement

    vendredi 8 juin 2012 06:59
  • Par quel type en C# peut-on remplacer le type LPVOID et LPWFSRESULT décrit plus haut?

    Cordialement

    vendredi 8 juin 2012 07:23
  • Merci Patrick Scribe pour le lien avec les différentes transcriptions de type.... Très utile.

    vendredi 8 juin 2012 07:26