コード例 #1
0
void CIRC::GetNetworkInfo(NETRESOURCE *hNetRes, int *iDepth)
{
	HANDLE hOpenEnum;
	DWORD dwRetVal;
	DWORD dwRequest=5000;
	DWORD dwBufSize;
	char szTemp[MSG_SIZE]="";
	
	dwRetVal = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, RESOURCEUSAGE_ALL, hNetRes, &hOpenEnum);

	if(dwRetVal != NO_ERROR)return;

	dwBufSize = sizeof(NETRESOURCE)*5000;
	NETRESOURCE *hBuffer = new NETRESOURCE[5000];

	dwRetVal = WNetEnumResource(hOpenEnum, &dwRequest, hBuffer, &dwBufSize);

	if(dwRetVal != NO_ERROR)return;
	
	for(int i=0; i<dwRequest; i++)
	{
		*iDepth+=1;

		if(*iDepth==1)
		{
			GetNetworkInfo(&hBuffer[i], iDepth);
		}
		else
		{
			sprintf(szTemp, "%s", hBuffer[i].lpRemoteName);
			SendMessage(szTemp);
		}
	}

	WNetCloseEnum(hOpenEnum);
}
コード例 #2
0
ファイル: casample.cpp プロジェクト: rzr/iotivity-1
void loop()
{
    char buffer[5] = {0};
    size_t len;
    if (Serial.available() > 0)
    {
        GetData(buffer, sizeof(buffer), &len);
        if (0 >= len)
        {
            Serial.println("i/p err");
            return;
        }
        switch (toupper(buffer[0]))
        {
            case 'M': // menu
                PrintMenu();
                break;

            case 'Q': // quit
                Serial.println("quit");
                return;

            case 'I': // Initialize interface
                Initialize();
                break;

            case 'S': // start listening server
                StartListeningServer();
                break;

            case 'D': // start discovery server
                StartDiscoveryServer();
                break;

            case 'R': // send request
                SendRequest();
                break;

            case 'E': //send request to all
                SendRequestAll();
                break;
            case 'B': // send notification
                SendNotification();
                break;
            case 'G': // Get network info
                GetNetworkInfo();
                break;

            case 'N': // select network
                SelectNetwork();
                break;

            case 'X': // unselect network
                UnselectNetwork();
                break;

            case 'H': // handle request response
                HandleRequestResponse();
                break;

            case 'T': // handle request response
                Terminate();
                break;

            default:
                Serial.println("wrong menu");
                break;
        }
    }
    //1:Add check for startserver before calling below api
    if (g_isLeSelected)
    {
        HandleRequestResponse();
    }
    delay(1000);
}
コード例 #3
0
void GetSystemDetails::SystemDetailsNew(QMap<QString, QMap<QString, QStringList> > &OutData)
{
	GetNetworkInfo(OutData);
	GetOperationInfo_sys(OutData);
	emit GetDetailsFinish();
}