NSFNoteSignExt
[syntax="ls"]Const APIModule = "NNOTES" ' Windows
Type BlockID
hPool As Long
Block As Integer
End Type
Declare Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _
( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As Integer
Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _
( Byval PathName As String, DbHandle As Long) As Integer
Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" _
( Byval DbHandle As Long) As Integer
Declare Function NSFNoteOpen Lib APIModule Alias "NSFNoteOpen" _
( Byval hDB As Long, Byval NoteID As Long, Byval F As Integer, hNT As Long) As Integer
Declare Function NSFNoteUpdate Lib APIModule Alias "NSFNoteUpdate" _
( Byval hNT As Long, Byval F As Integer) As Integer
Declare Function NSFNoteClose Lib APIModule Alias "NSFNoteClose" _
( Byval hNT As Long) As Integer
Declare Function NSFItemInfo Lib APIModule Alias "NSFItemInfo" _
( Byval hNT As Long, Byval N As String, Byval nN As Integer _
, iB As BlockID, D As Integer, vB As BlockID, nV As Long) As Integer
Declare Function NSFNoteSignExt Lib APIModule Alias "NSFNoteSignExt" _
( Byval hNT As Long, Byval S As String, Byval N As Integer, Byval hID As Long) As Integer
Declare Function OSMemAlloc Lib APIModule Alias "OSMemAlloc" _
( Byval T As Integer, Byval S As Long, hM As Long) As Integer
Declare Function OSMemFree Lib APIModule Alias "OSMemFree" _
( Byval hM As Long) As Integer
Declare Function OSLockObject Lib APIModule Alias "OSLockObject" _
( Byval H As Long) As Long
Declare Sub OSUnlockObject Lib APIModule Alias "OSUnlockObject" _
( Byval H As Long)
Declare Sub Poke Lib "KERNEL32" Alias "RtlMoveMemory" _
( Byval D As Long, P As Any, Byval N As Long)
Sub Click(Source As Button)
Const dbfile = "test.nsf"
Const noteID = &H0D26
Const item1 = "Data"
Const item2 = "Text"
Const sigitem = "$Sig_SignedSection"
Dim hDB As Long
NSFDbOpen dbfile, hDB
Dim hNT As Long
NSFNoteOpen hDB, Clng(noteID), 4, hNT
If Not hNT = 0 Then
Dim A(1) As BlockID, vB As BlockID
NSFItemInfo hNT, item1, Len(item1), A(0), dt%, vB, nV&
NSFItemInfo hNT, item2, Len(item2), A(1), dt%, vB, nV&
Dim hID As Long
OSMemAlloc 0, 12, hID
p& = OSLockObject(hID)
Poke p&, A(0).hPool, 6
Poke p& + 6, A(1).hPool, 6
NSFNoteSignExt hNT, sigitem, 2, hID
OSUnlockObject hID
OSMemFree hID
NSFNoteUpdate hNT, 1
NSFNoteClose hNT
End If
NSFDbClose hDB
End Sub[/syntax]
Type BlockID
hPool As Long
Block As Integer
End Type
Declare Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _
( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As Integer
Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _
( Byval PathName As String, DbHandle As Long) As Integer
Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" _
( Byval DbHandle As Long) As Integer
Declare Function NSFNoteOpen Lib APIModule Alias "NSFNoteOpen" _
( Byval hDB As Long, Byval NoteID As Long, Byval F As Integer, hNT As Long) As Integer
Declare Function NSFNoteUpdate Lib APIModule Alias "NSFNoteUpdate" _
( Byval hNT As Long, Byval F As Integer) As Integer
Declare Function NSFNoteClose Lib APIModule Alias "NSFNoteClose" _
( Byval hNT As Long) As Integer
Declare Function NSFItemInfo Lib APIModule Alias "NSFItemInfo" _
( Byval hNT As Long, Byval N As String, Byval nN As Integer _
, iB As BlockID, D As Integer, vB As BlockID, nV As Long) As Integer
Declare Function NSFNoteSignExt Lib APIModule Alias "NSFNoteSignExt" _
( Byval hNT As Long, Byval S As String, Byval N As Integer, Byval hID As Long) As Integer
Declare Function OSMemAlloc Lib APIModule Alias "OSMemAlloc" _
( Byval T As Integer, Byval S As Long, hM As Long) As Integer
Declare Function OSMemFree Lib APIModule Alias "OSMemFree" _
( Byval hM As Long) As Integer
Declare Function OSLockObject Lib APIModule Alias "OSLockObject" _
( Byval H As Long) As Long
Declare Sub OSUnlockObject Lib APIModule Alias "OSUnlockObject" _
( Byval H As Long)
Declare Sub Poke Lib "KERNEL32" Alias "RtlMoveMemory" _
( Byval D As Long, P As Any, Byval N As Long)
Sub Click(Source As Button)
Const dbfile = "test.nsf"
Const noteID = &H0D26
Const item1 = "Data"
Const item2 = "Text"
Const sigitem = "$Sig_SignedSection"
Dim hDB As Long
NSFDbOpen dbfile, hDB
Dim hNT As Long
NSFNoteOpen hDB, Clng(noteID), 4, hNT
If Not hNT = 0 Then
Dim A(1) As BlockID, vB As BlockID
NSFItemInfo hNT, item1, Len(item1), A(0), dt%, vB, nV&
NSFItemInfo hNT, item2, Len(item2), A(1), dt%, vB, nV&
Dim hID As Long
OSMemAlloc 0, 12, hID
p& = OSLockObject(hID)
Poke p&, A(0).hPool, 6
Poke p& + 6, A(1).hPool, 6
NSFNoteSignExt hNT, sigitem, 2, hID
OSUnlockObject hID
OSMemFree hID
NSFNoteUpdate hNT, 1
NSFNoteClose hNT
End If
NSFDbClose hDB
End Sub[/syntax]