Функция _Net_Share_ShareEnum

 ↑  ←  Описание функции


_Net_Share_ShareEnum

Retrieves information about each shared resource on a server

#include <NetShare.au3>
_Net_Share_ShareEnum([$sServer = ""])

Параметры

$sServer [необязательный] String that specifies the DNS or NetBIOS name of the remote server on which the function is to
    execute. If this parameter is blank the local computer is used.

Возвращаемое значение

Успех:Возвращает массив следующего формата:
[0][0] - Number of entries in array
[1][0] - Share name of a resource
[1][1] - Type of the shared resource. Can be a combination of:
$STYPE_DISKTREE - Print queue
$STYPE_PRINTQ - Disk drive
$STYPE_DEVICE - Communication device
$STYPE_IPC - IPC
$STYPE_SPECIAL - Special share reserved for IPC$ or remote administration of the server
$STYPE_TEMPORARY - A temporary share
[1][2] - Contains an optional comment about the shared resource
[1][3] - Indicates the shared resource's permissions:
1 - Permission to read data from a resource and to execute
2 - Permission to write data to the resource
4 - Permission to create an instance of the resource
8 - Permission to execute the resource
16 - Permission to delete the resource
32 - Permission to modify the resource's attributes
64 - Permission to modify the permissions assigned to a resource
[1][4] - Maximum number of concurrent connections for the resource
[1][5] - Indicates the number of current connections to the resource
[1][6] - Specifies the local path for the shared resource
[1][7] - Specifies the share's password
Ошибка:Устанавливает @error

Примечания

Administrator, Power User, Print Operator, or Server Operator group membership is required to execute this
function.

См. также

_Net_Share_FileEnum, _Net_Share_SessionEnum, _Net_Share_ConnectionEnum

См. также

Искать NetShareEnum в библиотеке MSDN

Пример

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

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $iI, $aInfo
    Local Const $sShareName = "AutoIt Share"

    ; Создаёт GUI
    $hGUI = GUICreate("NetShare", 400, 300)

    ; Создаёт элемент для заметок
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; See if the share exists
    If _Net_Share_ShareCheck (@ComputerName, $sShareName) = -1 Then
        ; Create a share on the local computer
        _Net_Share_ShareAdd (@ComputerName, $sShareName, 0, "C:\", "AutoIt Share Comment")
        If @error Then MsgBox (4096, "Information", "Share add error : " & @error)
        MemoWrite ("Share added")
    Else
        MemoWrite ("Share exists")
    EndIf

    ; Show information about all local shares
    $aInfo = _Net_Share_ShareEnum (@ComputerName)
    MemoWrite("Entries read ............: " & $aInfo[0][0])
    For $iI = 1 To $aInfo[0][0]
        MemoWrite("Share name ..............: " & $aInfo[$iI][0])
        MemoWrite("Share type...............: " & _Net_Share_ResourceStr ($aInfo[$iI][1]))
        MemoWrite("Comment .................: " & $aInfo[$iI][2])
        MemoWrite("Permissions .............: " & _Net_Share_PermStr ($aInfo[$iI][3]))
        MemoWrite("Maximum connections .....: " & $aInfo[$iI][4])
        MemoWrite("Current connections .....: " & $aInfo[$iI][5])
        MemoWrite("Local path ..............: " & $aInfo[$iI][6])
        MemoWrite("Password ................: " & $aInfo[$iI][7])
        MemoWrite()
    Next

    ; Delete the share
    _Net_Share_ShareDel (@ComputerName, $sShareName)
    If @error Then MsgBox (4096, "Information", "Share delete error : " & @error)
    MemoWrite("Share deleted")

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite