; 
; Exports of file netcfgx.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY netcfgx.dll
EXPORTS
; public: struct WLBS_REG_PARAMS & __ptr64 __cdecl WLBS_REG_PARAMS::operator=(struct WLBS_REG_PARAMS const & __ptr64) __ptr64
??4WLBS_REG_PARAMS@@QEAAAEAU0@AEBU0@@Z
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
HrDiAddComponentToINetCfg
LanaCfgFromCommandArgs
ModemClassCoInstaller
NetCfgDiagFromCommandArgs
NetCfgDiagRepairRegistryBindings
NetClassInstaller
NetPropPageProvider
RasAddBindings
RasCountBindings
RasRemoveBindings
SvchostChangeSvchostGroup
UpdateLanaConfigUsingAnswerfile
