|
// Syntaxe : //[ <Résultat> = ] PartageRépertoire (<sCheminRépertoire>, <sNomPartage>, <sLibelléPartage>, <sPassword>[, <nDroits>[, <nFlags>[, <nType>]]]) // // Paramètres : // sCheminRépertoire : Chemin du répertoire à supprimer // sNomPartage : Le nom du partage à créer // sLibelléPartage : Le commentaire du partage // sPassword : Mot de passe // nDroits : Les droits (PARTAGE_LECTURESEULE, PARTAGE_TOTAL) // nFlags : Le partage est persistant ? (PARTAGE_PERSISTANT) // nType : Le type de partage PARTAGE_REPERTOIRE // Valeur de retour : // booléen : Vrai si la création a réussi, faux sinon
PROCEDURE PartageRépertoire(sCheminRépertoire,sNomPartage,sLibelléPartage,sPassword,nDroits = PARTAGE_LECTURESEULE,nFlags = PARTAGE_PERSISTANT,nType = PARTAGE_REPERTOIRE)
sNomDll est une chaîne nRésultat est un entier nErreur est un entier
SELON SysVersionWindows() CAS "95","98","ME" sNomDll = "svrapi.dll" MesInfosPartage98 est un SHARE_INFO_50 // ------------------------------------------- // RAPPEL DE LA STRUCTURE UTILISEE // ------------------------------------------- //SHARE_INFO_50 est une structure // sNomPartage est une chaine ASCIIZ sur 13 // nType est un entier sur 2 // nFlags est un entier // nAdresseDescription est un entier // nAdresseChemin est un entier // sMotPasseLectureEcriture est une chaine ASCIIZ sur 9 // sMotPasseLectureSeule est une chaine ASCIIZ sur 9 //FIN // Mise à jour des membres de la structure MesInfosPartage98:sNomPartage = sNomPartage MesInfosPartage98:nType = nType MesInfosPartage98:nAdresseChemin = &sCheminRépertoire MesInfosPartage98:nAdresseDescription = &sLibelléPartage MesInfosPartage98:nFlags = nFlags MesInfosPartage98:sNomPartage = sNomPartage MesInfosPartage98:sMotPasseLectureEcriture = sPassword MesInfosPartage98:sMotPasseLectureSeule = sPassword nRésultat = API(sNomDll,"NetShareAdd",Null,50,&MesInfosPartage98,Dimension(MesInfosPartage98)) SI nRésultat<>0 ALORS RENVOYER Faux FIN AUTRE CAS sNomDll = "netapi32.dll" MesInfosPartageNT est un SHARE_INFO_2 // Déclaration des variables unicode sCheminUnicode est une chaîne UNICODE sNomUnicode est une chaîne UNICODE sMotPasseUnicode est une chaîne UNICODE sRemarqueUnicode est une chaîne UNICODE SI nFlags <> PARTAGE_PERSISTANT ALORS nType += 0x40000000 // Partage temporaire FIN MesInfosPartageNT:nType = nType MesInfosPartageNT:nMaxConnection = -1 // Pas de limite de connexion // Le partage total n'est pas le meme en 95,98,ME qu'en NT, XP, 2000.... SI nDroits = PARTAGE_TOTAL ALORS MesInfosPartageNT:nPermission = 119 SINON MesInfosPartageNT:nPermission = nDroits FIN // Mise à jour du chemin à partager sCheminUnicode = AnsiVersUnicode(sCheminRépertoire) MesInfosPartageNT:nAdresseChemin = &sCheminUnicode // Mise à jour du mot de passe sMotPasseUnicode = AnsiVersUnicode(sPassword) MesInfosPartageNT:sMotDePasse = &sMotPasseUnicode // Mise à jour du nom du partage sNomUnicode = AnsiVersUnicode(sNomPartage) MesInfosPartageNT:sNomPartage = &sNomUnicode // Mise à jour des remarques sRemarqueUnicode = AnsiVersUnicode(sLibelléPartage) MesInfosPartageNT:sRemarque = &sRemarqueUnicode nRésultat = API(sNomDll,"NetShareAdd",Null,2,&MesInfosPartageNT,&nErreur) SI nRésultat <> 0 ALORS RENVOYER Faux FIN FIN
RENVOYER Vrai
| |
|