21 lines
915 B
Plaintext
21 lines
915 B
Plaintext
' FB 1.05.0 Win64
|
|
|
|
'Using StrDup function in Shlwapi.dll
|
|
Dim As Any Ptr library = DyLibLoad("Shlwapi")
|
|
Dim strdup As Function (ByVal As Const ZString Ptr) As ZString Ptr
|
|
strdup = DyLibSymbol(library, "StrDupA")
|
|
|
|
'Using LocalFree function in kernel32.dll
|
|
Dim As Any Ptr library2 = DyLibLoad("kernel32")
|
|
Dim localfree As Function (ByVal As Any Ptr) As Any Ptr
|
|
localfree = DyLibSymbol(library2, "LocalFree")
|
|
|
|
Dim As ZString * 10 z = "duplicate" '' 10 characters including final zero byte
|
|
Dim As Zstring Ptr pcz = strdup(@z) '' pointer to the duplicate string
|
|
Print *pcz '' print duplicate string by dereferencing pointer
|
|
localfree(pcz) '' free the memory which StrDup allocated internally
|
|
pcz = 0 '' set pointer to null
|
|
DyLibFree(library) '' unload first dll
|
|
DyLibFree(library2) '' unload second fll
|
|
End
|