都是些关于如何在服务器上进行远程维护要调用的RPL函数的格式及相关参数,也许现在还有点用吧。以前程序是用汇编写的,晚上刚把函数的调用整理成了VC的格式,希望没有把参数格式搞错。
// 取得远程启动句柄
NetRplOpen(NULL,DWORD *);
// 关闭远程启动句柄
NetRplClose(DWORD);
typedef struct tagRPLPROFILEINFO {
LPWSTR * dwFileName; \ 配置文件
LPWSTR * dwComment; \ 注释
DWORD dwReserved;
LPWSTR * dwConfigName; \ 配置名称
LPWSTR * dwBoot;
LPWSTR * dwFits;
LPWSTR * dwFitsp;
} RPLPROFILEINFO, * LPRPLPROFILEINFO;
// 添加用户配置文件
NetRplProfileAdd(DWORD,int,LPRPLPROFILEINFO,DWORD *);
// 删除用户配置文件
NetRplProfileDel(DWORD,LPWSTR *);
// 枚举用户配置文件
NetRplProfileEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD);
// 获取用户配置文件信息
NetRplProfileGetInfo(DWORD,LPWSTR *,DWORD,DWORD *);
// 设置用户配置文件信息
NetRplProfileSetInfo(DWORD,LPWSTR *,DWORD,LPRPLPROFILEINFO,DWORD);
typedef struct tagRPLVENDORINFO {
LPWSTR * dwLsn; \ 网卡地址
LPWSTR * dwComment; \ 注释
DWORD dwReserved;
} RPLVENDORINFO, * LPRPLVENDORINFO;
// 添加网卡地址
NetRplVendorAdd(DWORD,int,LPRPLVENDORINFO,DWORD *);
// 删除网卡地址
NetRplVendorDel(DWORD,LPWSTR *);
// 枚举网卡地址
NetRplVendorEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLBOOTINFO {
LPWSTR * dwName; \ 引导名称
LPWSTR * dwComment; \ 引导注释
DWORD dwNum; \ 记录数
LPWSTR * dwLsn; \ 网卡地址
LPWSTR * dwBblock; \ "BBLOCKNETBEUI网卡名称W98BB.CNF"
DWORD dwReserved;
} RPLBOOTINFO, * LPRPLBOOTINFO;
// 添加引导记录
NetRplBootAdd(DWORD,int,LPRPLBOOTINFO,DWORD *);
// 删除引导记录
NetRplBootDel(DWORD,LPWSTR *,LPWSTR *);
// 枚举引导名称
NetRplBootEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLCONFIGINFO {
LPWSTR * dwName; \ 配置名称
LPWSTR * dwComment; \ 配置注释
DWORD dwReserved1;
LPWSTR * dwBoot; \ 引导名称
LPWSTR * dwDir1; \ "DOS"
LPWSTR * dwDir2; \ 远程目录
DWORD dwReserved2;
DWORD dwReserved3;
LPWSTR * dwFits1; \ FIT1
LPWSTR * dwFits2; \ FIT2
} RPLCONFIGINFO, * LPRPLCONFIGINFO;
// 添加配置记录
NetRplConfigAdd(DWORD,int,LPRPLCONFIGINFO,DWORD *);
// 删除配置记录
NetRplConfigDel(DWORD,LPWSTR *);
// 枚举远程启动配置信息
NetRplConfigEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLWKSTAINFO {
LPWSTR * dwName; // 用户名称
LPWSTR * dwComment; // 注释
DWORD dwFlag; // 参数(不知道具体,我在NetRplWkstaGetInfo中填的是0x12A)
LPWSTR * dwProfile; // 配置文件
LPWSTR * dwBoot; // 引导名称
LPWSTR * dwFit; // FIT
LPWSTR * dwLsn; // 网卡地址
DWORD dwIp; // IP(默认填-1)
DWORD dwSubnetMask; // 子网掩码(默认填-1)
DWORD dwGateway; // 网关(默认填-1)
} RPLWKSTAINFO, * LPRPLWKSTAINFO;
// 添加远程启动用户(用于转换适配器)
NetRplWkstaAdd(DWORD,DWORD,LPRPLWKSTAINFO,DWORD *);
// 删除远程启动用户
NetRplWkstaDel(DWORD,LPWSTR *);
// 判断是用户名还是网卡地址
NetRplWkstaGetInfo(DWORD,LPWSTR *,int,DWORD *);
// 设置用户信息
NetRplWkstaSetInfo(DWORD,LPWSTR *,DWORD,LPRPLWKSTAINFO,DWORD *);
// 枚举用户信息
NetRplWkstaEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
// 枚举发现的网卡记录(一般用于刷新是否出现新的远程工作站)
NetRplAdapterEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
// 删除网卡记录
NetRplAdapterDel(DWORD,LPWSTR *);
// 修复安全性
NetRplSetSecurity(DWORD,LPWSTR *,DWORD,DWORD);
// 更新远程配置
NetRplSetInfo(DWORD,DWORD,LPWSTR *,DWORD);
// 确认是否有效的用户名或网卡地址
I_NetNameValidate(DWORD,LPWSTR *,DWORD,DWORD);
// 取得远程启动句柄
NetRplOpen(NULL,DWORD *);
// 关闭远程启动句柄
NetRplClose(DWORD);
typedef struct tagRPLPROFILEINFO {
LPWSTR * dwFileName; \ 配置文件
LPWSTR * dwComment; \ 注释
DWORD dwReserved;
LPWSTR * dwConfigName; \ 配置名称
LPWSTR * dwBoot;
LPWSTR * dwFits;
LPWSTR * dwFitsp;
} RPLPROFILEINFO, * LPRPLPROFILEINFO;
// 添加用户配置文件
NetRplProfileAdd(DWORD,int,LPRPLPROFILEINFO,DWORD *);
// 删除用户配置文件
NetRplProfileDel(DWORD,LPWSTR *);
// 枚举用户配置文件
NetRplProfileEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD);
// 获取用户配置文件信息
NetRplProfileGetInfo(DWORD,LPWSTR *,DWORD,DWORD *);
// 设置用户配置文件信息
NetRplProfileSetInfo(DWORD,LPWSTR *,DWORD,LPRPLPROFILEINFO,DWORD);
typedef struct tagRPLVENDORINFO {
LPWSTR * dwLsn; \ 网卡地址
LPWSTR * dwComment; \ 注释
DWORD dwReserved;
} RPLVENDORINFO, * LPRPLVENDORINFO;
// 添加网卡地址
NetRplVendorAdd(DWORD,int,LPRPLVENDORINFO,DWORD *);
// 删除网卡地址
NetRplVendorDel(DWORD,LPWSTR *);
// 枚举网卡地址
NetRplVendorEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLBOOTINFO {
LPWSTR * dwName; \ 引导名称
LPWSTR * dwComment; \ 引导注释
DWORD dwNum; \ 记录数
LPWSTR * dwLsn; \ 网卡地址
LPWSTR * dwBblock; \ "BBLOCKNETBEUI网卡名称W98BB.CNF"
DWORD dwReserved;
} RPLBOOTINFO, * LPRPLBOOTINFO;
// 添加引导记录
NetRplBootAdd(DWORD,int,LPRPLBOOTINFO,DWORD *);
// 删除引导记录
NetRplBootDel(DWORD,LPWSTR *,LPWSTR *);
// 枚举引导名称
NetRplBootEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLCONFIGINFO {
LPWSTR * dwName; \ 配置名称
LPWSTR * dwComment; \ 配置注释
DWORD dwReserved1;
LPWSTR * dwBoot; \ 引导名称
LPWSTR * dwDir1; \ "DOS"
LPWSTR * dwDir2; \ 远程目录
DWORD dwReserved2;
DWORD dwReserved3;
LPWSTR * dwFits1; \ FIT1
LPWSTR * dwFits2; \ FIT2
} RPLCONFIGINFO, * LPRPLCONFIGINFO;
// 添加配置记录
NetRplConfigAdd(DWORD,int,LPRPLCONFIGINFO,DWORD *);
// 删除配置记录
NetRplConfigDel(DWORD,LPWSTR *);
// 枚举远程启动配置信息
NetRplConfigEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
typedef struct tagRPLWKSTAINFO {
LPWSTR * dwName; // 用户名称
LPWSTR * dwComment; // 注释
DWORD dwFlag; // 参数(不知道具体,我在NetRplWkstaGetInfo中填的是0x12A)
LPWSTR * dwProfile; // 配置文件
LPWSTR * dwBoot; // 引导名称
LPWSTR * dwFit; // FIT
LPWSTR * dwLsn; // 网卡地址
DWORD dwIp; // IP(默认填-1)
DWORD dwSubnetMask; // 子网掩码(默认填-1)
DWORD dwGateway; // 网关(默认填-1)
} RPLWKSTAINFO, * LPRPLWKSTAINFO;
// 添加远程启动用户(用于转换适配器)
NetRplWkstaAdd(DWORD,DWORD,LPRPLWKSTAINFO,DWORD *);
// 删除远程启动用户
NetRplWkstaDel(DWORD,LPWSTR *);
// 判断是用户名还是网卡地址
NetRplWkstaGetInfo(DWORD,LPWSTR *,int,DWORD *);
// 设置用户信息
NetRplWkstaSetInfo(DWORD,LPWSTR *,DWORD,LPRPLWKSTAINFO,DWORD *);
// 枚举用户信息
NetRplWkstaEnum(DWORD,DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
// 枚举发现的网卡记录(一般用于刷新是否出现新的远程工作站)
NetRplAdapterEnum(DWORD,DWORD,DWORD **,DWORD,DWORD *,DWORD *,DWORD *);
// 删除网卡记录
NetRplAdapterDel(DWORD,LPWSTR *);
// 修复安全性
NetRplSetSecurity(DWORD,LPWSTR *,DWORD,DWORD);
// 更新远程配置
NetRplSetInfo(DWORD,DWORD,LPWSTR *,DWORD);
// 确认是否有效的用户名或网卡地址
I_NetNameValidate(DWORD,LPWSTR *,DWORD,DWORD);
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-123780/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-123780/