// NEED INCLUDE FILE: #include
// NEED LIBARY: Netapi32.lib
Int getLollLocaladaptermacaddr (std :: list
{
NCB NCB;
LANA_ENUM AdapterList;
MEMSET (& NCB, 0, SIZEOF (NCB));
Ncb.ncb_command = ncbenum;
Ncb.ncb_buffer = (unsigned char *) & adapterlist;
Ncb.ncb_length = sizeof (adapterlist);
NetBIOS (& NCB);
Mac.resize (0);
For (int i = 0; i { Struct astat { Adapter_Status Adapt; Name_buffer psz_name [30]; Adapter; // reset the lan adapter SO That We can begin Querying IT NCB NCB; MEMSET (& NCB, 0, SIZEOF (NCB)); Ncb.ncb_command = ncbreset; Ncb.ncb_lana_num = adapterlist.lana [i]; IF (NetBIOS (& NCB)! = NRC_GOODRET) CONTINUE; // prepare to get the adapter status Block MEMSET (& NCB, 0, SIZEOF (NCB)); Ncb.ncb_command = ncbastat; Ncb.ncb_lana_num = adapterlist.lana [i]; STRCPY ((char *) ncb.ncb_callname, "*"); MEMSET (& Adapter, 0, Sizeof (Adapter); Ncb.ncb_buffer = (unsigned char *) & adapter; Ncb.ncb_length = sizeof (adapter); // Get the adapter's info and, if this works, return it in standard, // Colon-Delimited form. IF (NetBIOS (& NCB) == 0) { Std :: Vector v6.resize (6); For (int i = 0; i <6; i ) V6 [i] = adapter.adapt.adapter_address [i]; IF (v6 [0] == 0) { Std :: List For (; i! = mac.end (); i ) if (* i == V6) Break; IF (i == mac.end ()) Mac.push_back (v6); } } Else Break; } Return 0; }