async def hSchRpcRun(dce, path, pArgs=(), flags=0, sessionId=0, user = NULL): schRpcRun = SchRpcRun() schRpcRun['path'] = checkNullString(path) schRpcRun['cArgs'] = len(pArgs) for arg in pArgs: argn = LPWSTR() argn['Data'] = checkNullString(arg) schRpcRun['pArgs'].append(argn) schRpcRun['flags'] = flags schRpcRun['sessionId'] = sessionId schRpcRun['user'] = user return await dce.request(schRpcRun)
async def hRStartServiceW(dce, hService, argc=0, argv=NULL): startService = RStartServiceW() startService['hService'] = hService startService['argc'] = argc if argc == 0: startService['argv'] = NULL else: for item in argv: itemn = LPWSTR() itemn['Data'] = checkNullString(item) startService['argv'].append(itemn) return await dce.request(startService)
async def hDRSCrackNames(dce, hDrs, flags, formatOffered, formatDesired, rpNames = ()): request = DRSCrackNames() request['hDrs'] = hDrs request['dwInVersion'] = 1 request['pmsgIn']['tag'] = 1 request['pmsgIn']['V1']['CodePage'] = 0 request['pmsgIn']['V1']['LocaleId'] = 0 request['pmsgIn']['V1']['dwFlags'] = flags request['pmsgIn']['V1']['formatOffered'] = formatOffered request['pmsgIn']['V1']['formatDesired'] = formatDesired request['pmsgIn']['V1']['cNames'] = len(rpNames) for name in rpNames: record = LPWSTR() record['Data'] = checkNullString(name) request['pmsgIn']['V1']['rpNames'].append(record) return await dce.request(request)