⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oidx500.cpp

📁 WinCE5.0部分核心源码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//            card->m_activeProfileSwitched = TRUE;

            setAutoConfigTimer(card);

            #ifdef DEBUG_AUTO_CONFIG_OID
            DbgPrint("   InfBuffLen = %d\n", (int)InfBuffLen);
            DbgPrint("   sizeof(PROFILE) = %d\n", (int)sizeof(PROFILE));
            DbgPrint("   Profile name = %s\n", card->m_activeProfile->properties.name);
            #endif

            }

        else {
            *BytesCopied = (ULONG)-1;

            #ifdef DEBUG_AUTO_CONFIG_OID
            DbgPrint("   Error adding profile.\n");
            #endif
            }

        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("   current = %s; active = %s; default = %s\n",
                 card->m_currentProfile->properties.name,
                 card->m_activeProfile->properties.name,
                 card->m_profiles->properties.name);
        DbgPrint("------------------------------------------------------------------\n");
        #endif

        break;
        }

    case OID_X500_SELECT_PROFILE: {

        PROFILE_PROPERTIES  *profileProps = (PROFILE_PROPERTIES*)InfBuff;

        #ifdef DEBUG_AUTO_CONFIG_OID
        profileOIDCount++;
        DbgPrint("%d\n", profileOIDCount);
        DbgPrint("OID_X500_SELECT_PROFILE(%s):\n", profileProps->name);
        listProfiles(card->m_profiles, card->m_numProfiles);
        DbgPrint("\n");
        #endif

        *BytesCopied = sizeof(PROFILE_PROPERTIES);
        // 
        // Select the current profile by name.
        // 
        // First, see if we have a profile with the specified name.
        // 
        USHORT index;
        STPROFILE *profile = findProfileByName(profileProps->name,
                                               card->m_profiles,
                                               card->m_numProfiles,
                                               &index);
        if (profile != NULL) {
            // 
            // found one.
            // 
            card->m_currentProfile = profile;

            #ifdef DEBUG_AUTO_CONFIG_OID
            DbgPrint("   Selected profile %s.\n");
            #endif

            }
        else {
            #ifdef DEBUG_AUTO_CONFIG_OID
            DbgPrint("Profile %s not found -- adding it\n", profileProps->name);
            #endif

            // 
            // profile doesn't exist so add it.
            // 
            if (addProfile(card, profileProps) == NULL) {
                *BytesCopied = (ULONG)-1;

                #ifdef DEBUG_AUTO_CONFIG_OID
                DbgPrint("   Error adding profile.\n");
                #endif

                }
            }

        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("   current = %s; active = %s; default = %s\n",
                 card->m_currentProfile->properties.name,
                 card->m_activeProfile->properties.name,
                 card->m_profiles->properties.name);
        DbgPrint("------------------------------------------------------------------\n");
        #endif

        break;
        }

    case OID_X500_GET_PROFILE: {

        #ifdef DEBUG_AUTO_CONFIG_OID
        profileOIDCount++;
        DbgPrint("%d\n", profileOIDCount);
        DbgPrint("OID_X500_GET_PROFILE:\n");
        listProfiles(card->m_profiles, card->m_numProfiles);
        DbgPrint("\n");
        #endif

        // 
        // Return the the current profile.
        // 
        *BytesCopied = MIN(sizeof(ZFLAGS), InfBuffLen);
        NdisMoveMemory(InfBuff, &card->m_currentProfile->zFlags.cfg, *BytesCopied);

        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("   current = %s; active = %s; default = %s\n",
                 card->m_currentProfile->properties.name,
                 card->m_activeProfile->properties.name,
                 card->m_profiles->properties.name);
        DbgPrint("------------------------------------------------------------------\n");
        #endif

        break;
        }

    case OID_X500_SET_PROFILE: {

        #ifdef DEBUG_AUTO_CONFIG_OID
        profileOIDCount++;
        DbgPrint("%d\n", profileOIDCount);
        DbgPrint("OID_X500_SET_PROFILE:\n");
        listProfiles(card->m_profiles, card->m_numProfiles);
        DbgPrint("\n");
        #endif

        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }
        // 
        // Set the current profile.
        // 
        *BytesCopied = sizeof(ZFLAGS);
        NdisMoveMemory(&card->m_currentProfile->zFlags.cfg, InfBuff, *BytesCopied);
        // 
        // If the current profile is also active then write to the card too.
        // 
        if (card->m_currentProfile == card->m_activeProfile) {

            #ifdef DEBUG_AUTO_CONFIG_OID
            DbgPrint("   current == active");
            DbgPrint("\n");
            #endif

            cmdConfigSet(card, &((ZFLAGS*)InfBuff)->cfg);
            cmdSSIDSet(card, &((ZFLAGS*)InfBuff)->SSIDList); 
            cmdAPsSet(card, &((ZFLAGS*)InfBuff)->APList); 
            }

        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("   current = %s; active = %s; default = %s\n",
                 card->m_currentProfile->properties.name,
                 card->m_activeProfile->properties.name,
                 card->m_profiles->properties.name);
        DbgPrint("------------------------------------------------------------------\n");
        #endif

        break;
        }

    case OID_X500_ENABLE_AUTO_PROFILE_SWITCH: {
        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("OID_X500_ENABLE_AUTO_PROFILE_SWITCH:\n");
        #endif
        card->m_tempDisableAutoSwitch = FALSE;
        break;
        }

    case OID_X500_DISABLE_AUTO_PROFILE_SWITCH: {
        #ifdef DEBUG_AUTO_CONFIG_OID
        DbgPrint("OID_X500_DISABLE_AUTO_PROFILE_SWITCH:\n");
        #endif
        card->m_tempDisableAutoSwitch = TRUE;
        break;
        }

    case OID_GET_CONFIGUATION:
    case OID_X500_GET_CONFIGURATION: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(CFG_X500), InfBuffLen);

        CFG_X500 cfg;
        if (cmdConfigGet(card, &cfg)) {
            NdisMoveMemory(InfBuff, &cfg, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = cmdConfigGet(card, (CFG_X500 *)InfBuff) ? sizeof(CFG_X500) :(ULONG)-1 ;
*/
        break;
        }

    case OID_X500_EE_GET_CONFIGURATION: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }
        *BytesCopied = MIN(sizeof(CFG_X500), InfBuffLen);

        CFG_X500 cfg;
        if (EEReadConfig(card, &cfg)) {
            NdisMoveMemory(InfBuff, &cfg, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }

        *BytesCopied = EEReadConfig(card, (CFG_X500 *)InfBuff) ? sizeof(CFG_X500) :(ULONG)-1 ;
*/
        break;
        }

    case OID_SET_CONFIGUATION:
    case OID_X500_SET_CONFIGURATION: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }
        if (cmdConfigSet(card, (CFG_X500 *)InfBuff)) {
            *BytesCopied =  sizeof(CFG_X500);
            NdisMoveMemory(&card->m_activeProfile->zFlags.cfg, InfBuff, sizeof(CFG_X500));
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
        break;
        }

    case OID_X500_EE_SET_CONFIGURATION: {
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = EEWriteConfig(card, (CFG_X500 *)InfBuff) ? sizeof(CFG_X500) :(ULONG)-1 ;
        break;
        }

    case OID_X500_GET_APS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STAPLIST), InfBuffLen);

        STAPLIST apList;
        if (cmdAPsGet(card, &apList)) {
            NdisMoveMemory(InfBuff, &apList, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = cmdAPsGet(card, (STAPLIST *)InfBuff)? sizeof(STAPLIST) : (ULONG)-1; 
*/
        break;
        }

    case OID_X500_EE_GET_APS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STAPLIST), InfBuffLen);
        STAPLIST apList;
        if (EEReadAPS(card, &apList)) {
            NdisMoveMemory(InfBuff, &apList, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = EEReadAPS(card, (STAPLIST *)InfBuff)? sizeof(STAPLIST) : (ULONG)-1; 
*/
        break;
        }

    case OID_X500_SET_APS: {
        if (!cmdAwaken(card, TRUE)) { 
            *ReturnCode = -1000;
            break;
            }

        if (cmdAPsSet(card, (STAPLIST *)InfBuff)) {
            *BytesCopied =  sizeof(STAPLIST);
            NdisMoveMemory(&card->m_activeProfile->zFlags.APList, InfBuff, sizeof(STAPLIST));
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
        break;
        }

    case OID_X500_EE_SET_APS: {
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = EEWriteAPS(card, (STAPLIST *)InfBuff)? sizeof(STAPLIST) : (ULONG)-1; 
    
        break;
        }

    case OID_X500_GET_SSIDS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }
        
        *BytesCopied = MIN(sizeof(STSSID), InfBuffLen);

        STSSID ssidList;
        if (cmdSSIDGet(card, &ssidList)) {
            NdisMoveMemory(InfBuff, &ssidList, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = cmdSSIDGet(card, (STSSID *)InfBuff)? sizeof(STSSID) : (ULONG)-1; 
*/
        break;
        }

    case OID_X500_EE_GET_SSIDS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STSSID), InfBuffLen);

        STSSID ssidList;
        if (EEReadSSIDS(card, &ssidList)) {
            NdisMoveMemory(InfBuff, &ssidList, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }

        *BytesCopied = EEReadSSIDS(card, (STSSID *)InfBuff)? sizeof(STSSID) : (ULONG)-1; 
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = EEReadSSIDS(card, (STSSID *)InfBuff)? sizeof(STSSID) : (ULONG)-1; 
*/
        break;
        }

    case OID_X500_SET_SSIDS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        if (cmdSSIDSet(card, (STSSID *)InfBuff)) {
            *BytesCopied =  sizeof(STSSID);
            NdisMoveMemory(&card->m_activeProfile->zFlags.SSIDList, InfBuff, sizeof(STSSID));
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
        break;
        }

    case OID_X500_EE_SET_SSIDS: {
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied    = EEWriteSSIDS(card, (STSSID *)InfBuff)? sizeof(STSSID) : (ULONG)-1; 
        break;
        }

    case OID_GET_STATUS:
    case OID_X500_GET_STATUS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STSTATUS), InfBuffLen);
        
        STSTATUS status;
        if (cmdStatusGet(card, &status)) {
            NdisMoveMemory(InfBuff, &status, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = cmdStatusGet(card, (STSTATUS *)InfBuff ) ? sizeof(STSTATUS): (ULONG)-1;
*/
        break;
        }

    case OID_GET_STATISTICS:
    case OID_X500_GET_STATISTICS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STSTATISTICS), InfBuffLen);

        STSTATISTICS stats;
        if (cmdStatisticsGet(card, &stats)) {
            NdisMoveMemory(InfBuff, &stats, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;
            }
/*
        if( ! cmdAwaken(card, TRUE ) ){
            *ReturnCode = -1000;
            break;
        }
        *BytesCopied = cmdStatisticsGet(card, (STSTATISTICS *)InfBuff ) ? sizeof(STSTATISTICS): (ULONG)-1;
*/
        break;
        }
        
    case OID_RESET_STATISTICS:
    case OID_X500_RESET_STATS: {
        if (!cmdAwaken(card, TRUE)) {
            *ReturnCode = -1000;
            break;
            }

        *BytesCopied = MIN(sizeof(STSTATISTICS), InfBuffLen);

        STSTATISTICS stats;
        if (cmdStatisticsClear(card, &stats)) {
            NdisMoveMemory(InfBuff, &stats, *BytesCopied);
            }
        else {
            *BytesCopied = (ULONG)-1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -