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 :

[C#] Afficher les permissions sur un partage de fichier


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut [C#] Afficher les permissions sur un partage de fichier
    Bonjour

    Je suis entrain de faire une petite apli qui doit me renvoyer les permissions qui sont sur un dossier partager d'un machine distante. J'arrive à obtenir les autorisations NTFS mais pas celle du partage.

    Es ce que vous avez une piste à me donner ?

  2. #2
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut
    J'avance un petit peu.

    Je pense qu'il faut passer par Netapi32, je suis entrain de regarder ça mais jene comprend pas bien comment sa marche.

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut
    J'ai réussis à faire un petit bout de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
     
     [ StructLayout( LayoutKind.Sequential )]
     public struct SHARE_INFO_502
     {
     [MarshalAs(UnmanagedType.LPWStr)]
     public string shi502_netname;
     public uint shi502_type;
     [MarshalAs(UnmanagedType.LPWStr)]
     public string shi502_remark;
     public Int32 shi502_permissions;
     public Int32 shi502_max_uses;
     public Int32 shi502_current_uses;
     [MarshalAs(UnmanagedType.LPWStr)]
     public string shi502_path;
     [MarshalAs(UnmanagedType.LPWStr)]
     public string shi502_passwd;
     public Int32 shi502_reserved;
     public IntPtr shi502_security_descriptor;
     }
     
    [DllImport("Netapi32", CharSet = CharSet.Auto)]
     static extern int NetApiBufferFree(IntPtr Buffer);
     
     [DllImport("Netapi32", CharSet = CharSet.Auto)]
     static extern int NetShareGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername,
         [MarshalAs(UnmanagedType.LPWStr)] string netname, int level, ref IntPtr bufptr);
     
     static string NetShareGetPerm(string serverName, string netName)
     {
         string path = null;
         IntPtr ptr = IntPtr.Zero;
     
         int errCode = NetShareGetInfo(serverName, netName,0, ref ptr);
         if (errCode == NERR_Success)
         {
             SHARE_INFO_502 shareInfo = (SHARE_INFO_502)
                 Marshal.PtrToStructure(ptr, typeof(SHARE_INFO_502));
     
             path = shareInfo.shi502_permissions.ToString();
             NetApiBufferFree(ptr);
         }
         else
             Console.WriteLine(FormatMessage(errCode));
     
         return path;
     }
     
     
     
        [STAThread]
        static int Main(string[] args)
        {
            Console.WriteLine("Permissions=" + NetShareGetPerm("\\\\127.0.0.1", "partage$")+ "\r\n");
     
            Console.ReadLine();
            return 0;
        }
     
        const int ERROR_ACCESS_DENIED = 5;
        const int ERROR_INVALID_LEVEL = 124; // unimplemented level for info
        const int ERROR_INVALID_PARAMETER = 87;
        const int ERROR_MORE_DATA = 234;
        const int ERROR_NOT_ENOUGH_MEMORY = 8;
        const int NERR_BufTooSmall = 2123; // The API return buffer is too small.
        const int NERR_NetNameNotFound = 2310; // This shared resource does not exist.
        const int NERR_Success = 0;

    Mon problème est que j'ai comme affichage Permissions = 6750305

    A quoi correspond ce chiffre ???

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/08/2007, 07h34
  2. Afficher les parametres sur le rapport
    Par tatayoyo dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 28/11/2006, 10h16
  3. [MySQL] Afficher les résultats sur 3 colones et 2 lignes
    Par Meewix dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/10/2006, 23h14
  4. Afficher les logs sur son desktop
    Par Olivier Regnier dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 16/09/2006, 12h09
  5. Réponses: 2
    Dernier message: 15/01/2006, 21h36

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