UDF > NetShare >


_Net_Share_FileGetInfo

Obtient des informations sur une ouverture particulière d'une ressource de serveur

#include <NetShare.au3>
_Net_Share_FileGetInfo ( $sServer, $iFileID )

Paramètres

$sServer Indique le nom DNS ou NetBIOS du serveur distant sur lequel la fonction s'exécutera.
Si ce paramètre est vide, l'ordinateur local est utilisé.
$iFileID Identifiant du fichier de la ressource dont vous voulez obtenir des informations.
La valeur de ce paramètre doit avoir été obtenu dans un appel d'énumération précédente.

Valeur de retour

Succès: Retourne un tableau avec le format suivant:
    [0] - Numéro d'ID attribué à la ressource lorsqu'elle est ouverte
    [1] - Autorisations d'accès associés à l'ouverture de l'application:
        1 - Autorisation d'accès pour lire une ressource et exécuter la ressource
        2 - Autorisation d'accès pour écrire dans une ressource.
        4 - Autorisation d'accès pour créer une ressource
        8 - Autorisation d'accès pour l'exécution
        16 - Autorisation d'accès pour la suppression
        32 - Autorisation d'accès pour modifier des attributs
        64 - Autorisation d'accès pour changer ACL
    [2] - Contient le nombre de verrous de fichier sur la ressource
    [3] - Indique le chemin de la ressource ouverte
    [4] - Spécifie l'utilisateur ou l'ordinateur qui a ouvert la ressource
Échec: Définit @error <> 0.

Remarque

Administrateur, Opérateur de serveur ou d'impression ou l'appartenance au groupe Power User est nécessaire pour exécuter cette fonction.

En relation

_Net_Share_SessionGetInfo, _Net_Share_ShareGetInfo

Voir aussi

Consultez NetFileGetInfo dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $sServer, $aFile, $aInfo

    ; Crée une GUI
    GUICreate("NetShare", 400, 300)

    ; Crée un contrôle Memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Obtient le serveur et le nom de partage
    $sServer = InputBox("NetWork Demo", "Enter Server Name:", "\\MyServer", "", 200, 130)
    If @error Then Exit

    ; Énumère les fichiers ouverts sur le serveur
    $aFile = _Net_Share_FileEnum($sServer)
    MemoWrite("Error ...................: " & @error)
    MemoWrite("Entries read ............: " & $aFile[0][0])
    MemoWrite()

    ; Obtient des informations pour chaque fichier ouvert (comme les infos de $aFile)
    For $iI = 1 To $aFile[0][0]
        $aInfo = _Net_Share_FileGetInfo($sServer, $aFile[$iI][0])
        MemoWrite("Error ...................: " & @error)
        MemoWrite("File permissions ........: " & _Net_Share_PermStr($aInfo[1]))
        MemoWrite("File locks ..............: " & $aInfo[2])
        MemoWrite("File path ...............: " & $aInfo[3])
        MemoWrite("File user ...............: " & $aInfo[4])
        MemoWrite()
    Next

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Ecrit un message dans le contrôle Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite