Samlib.dll

Тема в разделе "WASM.WIN32", создана пользователем Shadovv13, 13 дек 2011.

  1. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Это точно =))
     
  2. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Все таки затеи не бросил, есть первый результат!!!!!!!! (:

    Да чуть не забыл, я пишу на басике (PowerBasic). -Самому смешно! "Just for fans"
    Вот ка выглядит!
    Код (Text):
    1. #COMPILE EXE
    2. #DIM ALL
    3.  
    4. TYPE UNICODE_STRING
    5.     Length        AS WORD
    6.     MaximumLength AS WORD
    7.     Buffer        AS DWORD  ' ptr to Unicode string (may not be UnicodeZ)
    8. END TYPE
    9. TYPE OBJECT_ATTRIBUTES
    10.     Length        AS DWORD
    11.     RootDirectory AS DWORD
    12.     ObjectName    AS UNICODE_STRING PTR
    13.     Attributes    AS DWORD
    14.     SecurityDescriptor       AS DWORD ' Points to type SECURITY_DESCRIPTOR
    15.     SecurityQualityOfService AS DWORD ' Points to type SECURITY_QUALITY_OF_SERVICE
    16. END TYPE
    17.  
    18. DECLARE FUNCTION SamConnect LIB "samlib.dll" ALIAS "SamConnect" (SrvName AS UNICODE_STRING,SAM_H AS DWORD,BYVAL SAMAccess AS DWORD,obj AS OBJECT_ATTRIBUTES) AS DWORD
    19.  
    20. FUNCTION PBMAIN () AS LONG
    21.     DIM SrvName AS UNICODE_STRING
    22.     DIM Obj AS OBJECT_ATTRIBUTES
    23.     LOCAL SAM_H AS DWORD
    24.     LOCAL res AS DWORD
    25.     LOCAL SAMAccess AS DWORD
    26.  
    27.     SAMAccess = &H000F003F 'SAM_RIGHTS_ALL
    28.     res = SamConnect (SrvName,SAM_H,SAMAccess,Obj)
    29.    
    30.     MSGBOX STR$(res) + "  " + STR$(SAM_H)
    31. END FUNCTION
    Структуры передаю пустыми, в ответ NTSTATUS = 0, SAM_H = Handle, все гуд!

    На очереди функция.
    Код (Text):
    1. NTSTATUS
    2. SamEnumerateDomainsInSamServer(
    3.     IN SAM_HANDLE ServerHandle, - Понятно!!
    4.     IN OUT PSAM_ENUMERATE_HANDLE EnumerationContext, -если входной то неясно!
    5.     OUT PVOID *Buffer, - Вообще не понял
    6.     IN ULONG PreferedMaximumLength, - Чего длина, буфера?
    7.     OUT PULONG CountReturned - Понятно!
    8.     );
     
  3. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Ну вот опять NTSTATUS = 0xC0030005 "Дескриптор контекста не совпадает ни с одним из известных дескрипторов."
    И что это означает, может кто то объяснить?
     
  4. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Дать ссылку на отладчик ?
     
  5. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    А толку? Что он мне скажет чего не хватает?
     
  6. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Кроме отладчика вам это никто не скажет. Так что выбора у вас нет.
     
  7. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
  8. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Это просто "жора"!!!!
    Дописал функцию закрытия хендла, при вызове та же ошибка 0xC0030005! о_О

    Код (Text):
    1. NTSTATUS SamCloseHandle(IN SAM_HANDLE SamHandle);
    "Возьми меня море и *бни об скалы"
     
  9. ntinside

    ntinside New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2011
    Сообщения:
    1
    Насколько я помню - когда ковырял samlib в домене Builtin юзеров и группы не создать.

    Вообще для вашей задачи надо использовать документированные интерфейсы (функции семейства Net...):
    NetGroupAdd
    NetGroupAddUser
    NetGroupDel
    NetUserAdd
    NetUserChangePassword
    NetUserDel
    NetUserEnum

    и т.д.

    посмотрите здесь (разделы User functions, Group functions):
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa370675(v=VS.85).aspx