Hi registrymechanic22,
is long time ago that I have used this stuff.
here a sample to delete the opened session and one to close opened file.
Best
jpd
Code: Select all
;NET_API_STATUS NetSessionDel(
; __in LPWSTR servername,
; __in LPWSTR UncClientName,
; __in LPWSTR username
;);
Procedure.s NetName(name.s)
name=RemoveString(name, "\" )
name="\\"+name
ProcedureReturn name
EndProcedure
Procedure.l NetSessionDelete(server.s,client.s,user.s)
Protected Success
Protected.s Userver,UClient,Uuser
CompilerIf #PB_Compiler_Unicode
Success=NetSessionDel_(NetName(server),NetName(client),user)
CompilerElse
Userver = Space(10)
Uclient =Space(10)
Uuser =Space(10)
PokeS(@Userver, NetName(server), -1, #PB_Unicode)
PokeS(@Uclient, NetName(client), -1, #PB_Unicode)
PokeS(@Uuser, user, -1, #PB_Unicode)
Success=NetSessionDel_(@Userver,@Uclient,@Uuser)
CompilerEndIf
Debug "NetSessionDelete Return: "+Str(Success)
Debug "-------------------------------------------"
ProcedureReturn Success
EndProcedure
Procedure NetFileClose(server.s,fileid.l)
Protected.l Success
Protected SUnicodeLen, *SUniCode
server=NetName(server)
CompilerIf #PB_Compiler_Unicode
Success=NetFileClose_(server,fileid)
CompilerElse
SUnicodeLen = MultiByteToWideChar_( #CP_ACP, 0, server, -1, 0,0)
*SUniCode = AllocateMemory(SUnicodeLen)
MultiByteToWideChar_( #CP_ACP, 0, server, -1, *SUniCode, SUnicodeLen)
Success=NetFileClose_(*SUniCode,fileid)
FreeMemory(*SUniCode)
CompilerEndIf
ProcedureReturn Success
EndProcedure
Procedure.s GetLastError(Err.l)
Protected buffer.l = 0, ferr.l
Protected errormsg.s = ""
ferr = FormatMessage_(#FORMAT_MESSAGE_ALLOCATE_BUFFER|#FORMAT_MESSAGE_FROM_SYSTEM,0,Err,GetUserDefaultLangID_(),@buffer,0,0)
If buffer <> 0
errormsg=PeekS(buffer)
LocalFree_(buffer)
errormsg=RemoveString(errormsg,Chr(13)+Chr(10))
EndIf
ProcedureReturn errormsg
EndProcedure
Define Ret
Ret = NetFileClose("jpd-pc",298)
Debug "ReturnCode: " +Str(Ret)
Debug "ErrDescription: "+ GetLastError(Ret)
; Ret = NetSessionDelete("jpd-pc","jpd-pc","jpd")
;
; Debug "ReturnCode: " +Str(Ret)
; Debug "ErrDescription: "+ GetLastError(Ret)