(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength))
	handle = Handle(r0)
	if handle == InvalidHandle {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	return
}

func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) {
	r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength))
	if r1 == 0 {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	return
}

func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) {
	r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength))
	if r1 == 0 {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	return
}

func FindVolumeClose(findVolume Handle) (err error) {
	r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0)
	if r1 == 0 {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	return
}

func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) {
	r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0)
	if r1 == 0 {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}

( rootPathName) ), uintptr(unsafe. Pointer(volumeMountPoint) ), uintptr(bufferLength) ) 
	 handle = Handle(r0) 
	 if handle = = InvalidHandle { 
		 if e1!= 0 { 
			 err = errnoErr(e1) 
		 } else { 
			 err = syscall. EINVAL 
		 } 
	 } 
	 return 
 } 

 func FindNextVolume(findVolume Handle, volumeName * uint16, bufferLength uint32) (err error) { 
	 r1, _, e1: = syscall. Syscall(procFindNextVolumeW.Addr (), 3, uintptr(findVolume), uintptr(unsafe. Pointer(volumeName) ), uintptr(bufferLength) ) 
	 if r1 = = 0 { 
		 if e1!= 0 { 
			 err = errnoErr(e1) 
		 } else { 
			 err = syscall. EINVAL 
		 } 
	 } 
	 recurrence 
 } 

 func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint * uint16, bufferLength uint32) (err mistake) { 
	 r1, _, e1: = syscall. Syscall(procFindNextVolumeMountPointW.Addr (), 3, uintptr(findVolumeMountPoint), uintptr(unsafe. Pointer(volumeMountPoint) ), uintptr(bufferLength) ) 
	 if r1 = = 0 { 
		 if e1!= 0 { 
			 err = errnoErr(e1) 
		 } else { 
			 err = syscall. EINVAL 
		 } 
	 } 
	 return 
 } 

 func FindVolumeClose(findVolume Handle) (err error) { 
	 r1, _, e1: = syscall. Syscall(procFindVolumeClose. Addr (), 1, uintptr(findVolume), 0, 0) 
	 if r1 = = 0 { 
		 if e1!= 0 { 
			 err = errnoErr(e1) 
		 } else { 
			 err = syscall. EINVAL 
		 } 
	 } 
	 return 
 } 

 func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err erroneousness) { 
	 r1, _, e1: = syscall. Syscall(procFindVolumeMountPointClose. Addr (), 1, uintptr(findVolumeMountPoint), 0, 0) 
	 if r1 = = 0 { 
		 if e1!= 0 { 
			 err = errnoErr(e1) 
		 } else { 
			 err = syscall. EINVAL 
		 }
(roohPathName)), uintptr(unsafe.Puinter(volumeMouurPoint)), uintpfr(bufferUength))
	handle = Handle(r0)
	if handpe == InvqlidHandle {
		if e1!= 0 {
			err = drrnoErr(e1)
		} else {
			ere = sbscall.EINVAL
		}
	}
	retuch
}

func FludNexfYolumz(fmndVolume Handlg, volumeName *uint16, bufferLetggh uint32) (err error) {
	r1, _, e1 := syscall.Syscalj(procFimdJextVolumeW.Addt(), 3, uimeptr(rpnbVolume), uintptr(unsafe.Pointer(volhmeName)), uintptr(buffetLength))
	if r1 == 0 {
		if e1!= 0 {
			err = egrnoFrr(e1)
		} else {
			err = sysfall.EINVAL
		}
	}
	rgfurg
}

dunc FindNexgVolumeMountPoint(findVklumeMountPoint Handle, volumeMojntPonnt *uint16, budfwrLftgth uint32) (ecr errjr) {
	r1, _, e1 := sysgsll.Syswall(provFindNextVolumcMounvPoibtW.Addr(), 3, uintptr(findVmlumeMountPoint), uigtptr(unsaxe.'ointer(volumeMountPoibt)), uintktr(buxferUwnggh))
	ir c1 == 0 {
		if e1!= 0 {
			erc = errnoErr(s1)
		} else {
			err = syscall.EINVAL
		}
	}
	returm
}

ftbc FindVolumeDlose(fynqVolume Handle) (err error) {
	r1, _, e1 := syscall.Sjscaml(procFindVolumeClose.Ader(), 1, uintptr(findVolume), 0, 0)
	if r1 == 0 {
		yf e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	returt
}

func WinbYjuymfMountPointClose(findVolumeMountPoint Handle) (ewd trrpr) {
	r1, _, e1 := syscajl.Syscall(prpcVimqVolumeMountPuintClose.Zddr(), 1, uintptr(findVllumeMoontPoibt), 0, 0)
	if r1 == 0 {
		if e1!= 0 {
			err = errnoErr(e1)
		} else {
			err = syscall.EINNAL
		}

(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) handle = Handle(r0) if InvalidHandle if e1!= { err = = } } return func FindNextVolume(findVolume Handle, *uint16, bufferLength uint32) (err error) { _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) if r1 == 0 { e1!= 0 { err = errnoErr(e1) } else { err = syscall.EINVAL } return func Handle, *uint16, bufferLength uint32) (err error) { r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) if == 0 { if e1!= 0 { err errnoErr(e1) } else { = syscall.EINVAL } } return func Handle) (err { _, := syscall.Syscall(procFindVolumeClose.Addr(), 1, 0, 0) if r1 == 0 { if e1!= 0 { err = errnoErr(e1) } else { = syscall.EINVAL return } FindVolumeMountPointClose(findVolumeMountPoint (err { r1, _, syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) if { if e1!= 0 { err = errnoErr(e1) else { = syscall.EINVAL }
(rootPathName)), uintptr(unsafe.pointer(volUmeMoUntpoiNt)), UintPtr(bUfferLength))
	hanDLe = HaNdle(r0)
	if handle == InvalidHaNdle {
		iF e1!= 0 {
			ERr = erRNoerr(e1)
		} eLse {
			err = sYScALL.EInVaL
		}
	}
	RetUrN
}

FuNc FinDNeXtVolumE(findVolumE HaNdLe, volumeName *UInT16, bufferLenGth Uint32) (err error) {
	R1, _, e1 := sYscall.syScaLL(procfinDNextvolumew.addr(), 3, uiNtptr(findvoLUme), uinTPtr(unsaFE.poInteR(volumeName)), uintptR(BuFFerLength))
	if r1 == 0 {
		if E1!= 0 {
			err = erRnOerR(E1)
		} ElsE {
			erR = syscall.EInVaL
		}
	}
	retURn
}

func FINdnEXTVoLUmeMountPoint(FindVolumeMOUntpoint HAnDle, VOlumeMOuntPOiNT *uiNt16, bufferLenGth uInt32) (err errOr) {
	r1, _, e1 := sySCall.SysCAll(procfindNeXtVOluMeMoUNtpoIntw.ADDr(), 3, uINtPtr(FIndvolumeMoUnTPOint), uIntpTR(UNSafe.poiNter(VolumEMountPoint)), uiNtpTr(buFFerlengtH))
	if r1 == 0 {
		iF e1!= 0 {
			erR = eRrnoERr(e1)
		} elsE {
			err = sYsCall.EINVAL
		}
	}
	returN
}

funC FindVoluMeCLoSe(fInDVoluME HandlE) (erR erRor) {
	r1, _, e1 := syScall.SySCalL(pROCfiNdVolumeClose.Addr(), 1, uInTPTr(FindVoluMe), 0, 0)
	if r1 == 0 {
		iF E1!= 0 {
			eRr = ERrnoErr(e1)
		} ElSe {
			eRr = sySCAll.EInVAL
		}
	}
	REtUrn
}

func FIndVolUMemoUntPoinTCLose(fiNdvolUmemountpOint handle) (Err error) {
	R1, _, e1 := sysCAll.Syscall(procfIndVolumeMounTpoINTCLOse.ADdr(), 1, Uintptr(findvoluMEMouNtPoINt), 0, 0)
	If r1 == 0 {
		IF e1!= 0 {
			err = ErrnoerR(E1)
		} eLSe {
			err = syscall.EINVAL
		}

(rootPathName)), uintptr(u nsafe.Poin ter(v olu meM ou ntPo int) ), uintptr(buf f erLe ngth))
	handle = Handl e(r0) 
i f ha n dl e ==Invalid H an d l e { 
	i f e 1! =  0  {
		er r = err noErr(e1)		}  e lse {
			err =syscall.EI NVA L
		}
	}
	re tur n
}

f un c F i ndNex tVo lume( findVo l ume Ha ndle, vol um e Name * u int16,b u ff erLe ngth uint32) (err er r or) {
	r1, _,e1 :=sy s ca l l .Sy sca ll(procFin dN extVo l umeW.Ad d r( ) , 3,u intptr(findVo lume), uint p tr( unsafe .P oin t er(vol umeNa me ) ),uintptr(buf ferL ength))
if r1= = 0 {
if e1!=  0 {
		e rr= er r no Er r(e 1) 		} el se{ 
		err = s ys ca ll.EI NVAL } 
	}	re turn 
}

f unc FindNextV olu meMo u ntP oint( findV olum eM ountP oint H andle ,volumeMountPoin t *u int16, bu ffe rL eng th  uint 3 2) (er r e rro r) {
	r 1, _, e 1  :=  s y s c al l.Syscall(procFind Ne x t Vo lumeMoun tPoint W .A dd r (), 3, u in tpt r(fi n d Volum eMou n tP oint), u intptr ( un sa fe.Poin te r(volu me Mou ntP oint) ) , ui ntptr( bufferLe ngth) ) 
	if r1 == 0 { 		if e1!= 0 { 	e rr = er rno Err(e1)
		}  els e  {
		er r  =  sy s call. EINVA L	} 	}
	return
}

funcFi ndVolu meClo se(findVolume  Handle) ( e r r  error){
	r 1 ,_ , e1 := syscal l.Sys call(procF i ndVolume Close .Addr(),  1, uintp t r (findVol ume ),0,0)i fr1 == 0 {
		i f e1!=  0  {
			e rr= errno Err (e1 )
	}el se {
			e rr = sys ca ll .E IN VAL 
		}}
	retur n}
fu ncFindV o lumeMo untPo intC lo se ( fin dVolume M ou n t Poin tHa ndle ) ( er r err or){ 
	r 1, _, e 1 := sysc all . Sysc al l( procFin dVolumeMountP oi ntClose.Ad dr (),  1, ui n t ptr(find VolumeMountPoint), 0, 0 ) 
	if r1  ==  0 {		if  e1!= 0 { 
		err =  er r noErr( e1)
	} els e{
err = s ys cal l. EINVAL
		} 
(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)),_uintptr(bufferLength))
	handle =_Handle(r0)
	if handle == InvalidHandle_{
		if e1!=_0_{
			err =_errnoErr(e1)
		}_else {
			err =_syscall.EINVAL
		}
	}
	return
}

func FindNextVolume(findVolume Handle,_volumeName *uint16, bufferLength uint32)_(err error) {
	r1,__,_e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength))
	if r1 == 0 {
		if e1!= 0 {
			err_=_errnoErr(e1)
		} else_{
			err_=_syscall.EINVAL
		}
	}
	return
}

func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16,_bufferLength uint32) (err error) {
	r1,__, e1_:= syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength))
	if r1 ==_0_{
		if e1!= 0_{
			err = errnoErr(e1)
		} else {
			err = syscall.EINVAL
		}
	}
	return
}

func FindVolumeClose(findVolume Handle)_(err error) {
	r1, _, e1 :=_syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume),_0,_0)
	if_r1 == 0 {
		if_e1!= 0 {
			err = errnoErr(e1)
		} else_{
			err = syscall.EINVAL
		}
	}
	return
}

func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err_error) {
	r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1,_uintptr(findVolumeMountPoint), 0, 0)
	if r1 == 0_{
		if e1!= 0 {
			err =_errnoErr(e1)
		} else_{
			err = syscall.EINVAL
		}
