IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Migration 2005 ->2008 : 'char *' to 'LPWSTR'


Sujet :

C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 45
    Par défaut Migration 2005 ->2008 : 'char *' to 'LPWSTR'
    Bonjour,

    Je dois migrer un projet de Visual Studio 2005 à 2008 (avec un changement de la version du SDK de V5 à V6.0A) et il y a un bout de code qui ne compile plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        wchar_t WDirectoryToShare[MAX_PATH];
        wchar_t WSharename[MAX_PATH];
     
        swprintf_s(WDirectoryToShare,L"%S",DirectoryToShare);
        swprintf_s(WSharename,L"%S",Sharename);
     
        si502.shi502_netname = (char *)WSharename;     // ici erreur de compilation
        si502.shi502_max_uses = SHI_USES_UNLIMITED;
        si502.shi502_current_uses = 0;
        si502.shi502_path = (char *)WDirectoryToShare;	 // ici erreur de compilation
    J'ai parcouru les 3 fichiers du SDK concernés et il y a le typedef suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     typedef __nullterminated WCHAR *NWPSTR, *LPWSTR, *PWSTR;
    puis
    et un typedef struct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    typedef struct _SHARE_INFO_502 {
        LMSTR     shi502_netname;
        DWORD     shi502_type;
        LMSTR     shi502_remark;
        DWORD     shi502_permissions;
        DWORD     shi502_max_uses;
        DWORD     shi502_current_uses;
        LMSTR     shi502_path;
        LMSTR     shi502_passwd;
        DWORD     shi502_reserved;
        PSECURITY_DESCRIPTOR  shi502_security_descriptor;
    } SHARE_INFO_502, *PSHARE_INFO_502, *LPSHARE_INFO_502;
    Le compilateur n'admet pas donc pas le cast d'un wchar_t en WCHAR.
    Il met 2 erreurs de compilation du type :
    error C2440: '=' : cannot convert from 'char *' to 'LPWSTR'

    Que dois-je faire alors ?

    J'ai joint les 3 fichiers du SDK concernés.

    Merci.

    Tapiou.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL-Server] Migration 2005 vers 2008 et mssql_ ne fonctionne plus
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/07/2011, 08h58
  2. Migration Visual Studio 2005 vers 2008
    Par trueman dans le forum Visual Studio
    Réponses: 0
    Dernier message: 01/06/2011, 15h41
  3. Migration Visual studio 2008 à Visual studio 2005
    Par amirad dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/09/2009, 11h18
  4. [Transact] Migration 2005 vers 2008 et Datetime
    Par Stouille33 dans le forum Développement
    Réponses: 3
    Dernier message: 26/02/2009, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo