• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Os/400 Api, нужна помощь...

  • Автор темы susinmn
  • Дата начала
S

susinmn

https://codeby.net/threads/33044.html?hl=Репликация

Хочется получить время добавления документа в базу агентом по расписанию (session.Platform="OS/400")...

вот здесь есть строки для OS/2v2

... Lib "inotes" ....
Подскажите что нужно прописывать здесь для OS/400?
 
T

TIA

Подскажите что нужно прописывать здесь для OS/400?
Как правило, всё тоже, что и для Win32.


Что-то вроде:

Код:
Public Type TIMEDATE
Innards(1) As Long
End Type

const NOTE_MODIFIED& = 4

Declare Public Sub OS400_NSFNoteGetInfo_Modified Lib "inotes" Alias "NSFNoteGetInfo" ( Byval hNote As Long, Byval note_member As Integer, ModifiedInThisFile As TIMEDATE)

Пригодится:
Код:
Declare Sub OS400_ConvertTIMEDATEToText Lib "inotes" Alias "ConvertTIMEDATEToText" (Byval IntlFormat As Long,Byval TextFormat As Long, actTIMEDATE As TIMEDATE, Byval retTextBuffer As String,Byval TextBufferLength As Integer,retTextLength As Integer)

Const MAXALPHATIMEDATE = 80

Function ConvertTIMEtoText(dt As TIMEDATE) As String

Dim spTime As String * MAXALPHATIMEDATE
Dim retLength As Integer

spTime = Space(MAXALPHATIMEDATE)
Call W32_ConvertTIMEDATEToText (&h0,&h0, dt, spTime,MAXALPHATIMEDATE,retLength)
ConvertTIMEtoText = Left$(spTime,retLength)
End Function
Звать так:

Код:
dim dt as TIMEDATE
Call OS400_NSFNoteGetInfo_Modified(doc.Handle, NOTE_MODIFIED, dt)
msgbox ConvertTIMEtoText(dt)
 
S

susinmn

Private Type timeDateTYPE
innards(1) As Long
End Type

Declare Public Sub OS400_NSFNoteGetInfo_Added Lib "inotes" Alias "NSFNoteGetInfo" ( Byval hNote As Long, Byval note_member As Integer, AddedInThisFile As timeDateTYPE)

hNote& = doc.HANDLE
Dim tdStruct As timeDateTYPE

Сваливается вот на этом: Call OS400_NSFNoteGetInfo_Added(hNote&, 13, tdStruct)

error message: Error in loading DLL
 
T

TIA

Обращение к внешним функциям dll является unrestricted операцией. Соответственно, агенту и его подписанту надо дать права. Делается это в св-вах агента и в документе на сервер.
 
S

susinmn

На сервере, где W32 работает, а вот на OS400 ни как(

*Делается это в св-вах агента и в документе на сервер.* В агенте права были, а что за *в документе на сервер*?
 

Вложения

  • 10.03.jpg
    10.03.jpg
    22,2 КБ · Просмотры: 413

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
надож посмотреть - как эта либа называется, вполне допускаю, что не inotes :rolleyes:
сцылко на цайт уже приводил
 
T

TIA

В агенте права были, а что за *в документе на сервер

В серверной адресной книге для каждого сервера домена есть документ. В нём на закладке Security есть раздел в котором указывается кто может запускать анрестриктед агенты, а кто рестриктед. Подписант агента должен быть во втором поле.
 
S

susinmn

нашел название библиотеки "/qsys.lib/qnotes.lib/libnotes.svrpgm". спасибо lmike*у.
но не работает, более того за вечер уже 4 раз повесил сервер этим агентом(
пробовал запускать на 2 серверах, агент даже не отрабатывае до конца. идет поиск Added по одном удокументу)

всем спасибо за советы.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!