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

📄 support.cpp

📁 WinCE5.0部分核心源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        }
       _mac[ i/2 ] = (cMost<<4) | cLeast;
    }               
    return TRUE;
}

UCHAR 
AsciiByteToHex( 
    UCHAR abyte 
    )
{
    return  abyte >= '0' && abyte <= '9' ? abyte - 0x30 :
            abyte >= 'A' && abyte <= 'F' ? abyte - 0x37 :
            abyte >= 'a' && abyte <= 'f' ? abyte - 0x57 :
            0xFF;
}

UCHAR 
AsciiWordToHex( 
    USHORT aword 
    )
{
    return  (AsciiByteToHex(aword >> 8) & 0xF) | (AsciiByteToHex(aword & 0xFF)<<4);
}

//===========================================================================
    BOOLEAN GetConfigEntry (NDIS_HANDLE         ConfigHandle,
                            NDIS_STRING         *EntryString,
                            unsigned int        *intValue,
                            NDIS_PARAMETER_TYPE type)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//---------------------------------------------------------------------------
{
    NDIS_STATUS                     Status;
    PNDIS_CONFIGURATION_PARAMETER   ReturnedValue;// The value read from the registry.

    NdisReadConfiguration(&Status, &ReturnedValue, ConfigHandle, EntryString, type/*NdisParameterHexInteger*/);
    
    if (NDIS_STATUS_SUCCESS == Status) {
        *intValue = ReturnedValue->ParameterData.IntegerData;
        return TRUE;
        }
    return FALSE;
}


//===========================================================================
    BOOLEAN GetConfigEntry (NDIS_HANDLE         ConfigHandle,
                            NDIS_STRING         *EntryString,
                            unsigned short      *shortValue,
                            NDIS_PARAMETER_TYPE type)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//---------------------------------------------------------------------------
{
    NDIS_STATUS                     Status;
    PNDIS_CONFIGURATION_PARAMETER   ReturnedValue;// The value read from the registry.

    NdisReadConfiguration(&Status, &ReturnedValue, ConfigHandle, EntryString, type /*NdisParameterHexInteger*/);
    
    if (NDIS_STATUS_SUCCESS == Status) {
        *shortValue = (USHORT)ReturnedValue->ParameterData.IntegerData;
        return TRUE;
        }
    return FALSE;
}

//===========================================================================
    BOOLEAN GetConfigEntry (NDIS_HANDLE         ConfigHandle,
                            NDIS_STRING         *EntryString,
                            UCHAR               *ucharValue,
                            NDIS_PARAMETER_TYPE type)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//---------------------------------------------------------------------------
{
    NDIS_STATUS                     Status;
    PNDIS_CONFIGURATION_PARAMETER   ReturnedValue;// The value read from the registry.

    NdisReadConfiguration(&Status, &ReturnedValue, ConfigHandle, EntryString, type /*NdisParameterHexInteger*/);
    
    if (NDIS_STATUS_SUCCESS == Status) {
        *ucharValue = (UCHAR)ReturnedValue->ParameterData.IntegerData;
        return TRUE;
        }
    return FALSE;
}

//===========================================================================
    int GetConfigEntry (NDIS_HANDLE     ConfigHandle,
                        NDIS_STRING     *EntryString,
                        UCHAR           *strValue,  
                        UINT            nByte)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//---------------------------------------------------------------------------
{
    NDIS_STATUS                     Status;
    PNDIS_CONFIGURATION_PARAMETER   ReturnedValue;// The value read from the registry.

    NdisReadConfiguration(&Status, &ReturnedValue, ConfigHandle, EntryString, NdisParameterString);

    if ((NDIS_STATUS_SUCCESS != Status) || (NULL == ReturnedValue->ParameterData.StringData.Buffer)) {
        return 0;
        }

    return UnicodeStringToString(strValue, &(ReturnedValue->ParameterData.StringData), nByte, OSType); 
}


//===========================================================================
    BOOLEAN GetConfigEntry (NDIS_HANDLE ConfigHandle,
                            NDIS_STRING *EntryString,
                            NDIS_STRING *strValue)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//---------------------------------------------------------------------------
{
    NDIS_STATUS                     Status;
    PNDIS_CONFIGURATION_PARAMETER   ReturnedValue;// The value read from the registry.

    NdisReadConfiguration(&Status, &ReturnedValue, ConfigHandle, EntryString, NdisParameterString);

    if ((NDIS_STATUS_SUCCESS != Status) || (NULL == ReturnedValue->ParameterData.StringData.Buffer)) {
        return FALSE;
        }

    NdisStringToWideNdisString(strValue, &ReturnedValue->ParameterData.StringData); 

    return TRUE;
}









/*

//===========================================================================
    int StrLen (char *str)
//===========================================================================
// 
// Description: Return the length of the specified string.
//    
//      Inputs: str - pointer to a string.
//    
//     Returns: length of the string.
//---------------------------------------------------------------------------
{
    int i = 0;
    while (str && *(str+i)) {
        ++i;
        }
    return i;
}

//===========================================================================
    char* StrCpy (char *dest, char *src)
//===========================================================================
// 
// Description: Copy the source string to the destination string.  No 
//              overflow checking is performed.
//    
//      Inputs: dest    - pointer to destination string
//              src     - pointer to source string
//    
//     Returns: Pointer to the destination string.
//---------------------------------------------------------------------------
{
    char *ptr = dest;
    while (*dest++ = *src++);
    return ptr; 
}

//===========================================================================
    char* StrCat (char *dest, char *src)
//===========================================================================
// 
// Description: Append the source string to the destination string.  No 
//              overflow checking is performed.
//    
//      Inputs: dest    - pointer to destination string
//              src     - pointer to source string
//    
//     Returns: Pointer to the destination string.
//    
//      (10/25/00)
//---------------------------------------------------------------------------
{
    char *ptr = dest + StrLen(dest);
    return(StrCpy(ptr, src));
}

//===========================================================================
    int StrCmp (char *str1, char *str2)
//===========================================================================
// 
// Description: 
//    
//      Inputs: 
//    
//     Returns: 
//    
//      (11/14/00)
//---------------------------------------------------------------------------
{
    int len1 = StrLen(str1);
    int len2 = StrLen(str2);

    int ret = memcmp(str1, str2, len1 < len2 ? len1 : len2);

    if (ret == 0) {
        if (len1 < len2) {
            ret = -1;
            }
        else if (len2 > len1) {
            ret = 1;
            }
        }
    return(ret);
}

//===========================================================================
    void* MemCpy (void *dest, void *src, size_t size)
//===========================================================================
// 
// Description: Copies byte between buffers.
//    
//      Inputs: dest    - pointer to destination buffer.
//              src     - pointer to source buffer.
//              size    - number of bytes to copy.
//    
//     Returns: dest
//    
//      (10/26/00)
//---------------------------------------------------------------------------
{
    char *p1 = (char*)dest;
    char *p2 = (char*)src;
    for (size_t i = 0; i < size; i++) {
        *p1++ = *p2++;
        }
    return(dest);
}

//===========================================================================
    void* MemSet (void *dest, int c, size_t count)
//===========================================================================
// 
// Description: Set count bytes beginning at the byte pointed to by dest to c.
//    
//      Inputs: 
//    
//     Returns: 
//    
//      (11/10/00)
//---------------------------------------------------------------------------
{
    char *p1 = (char*)dest;
    for (size_t i = 0; i < count; i++) {
        *p1++ = (char)c;
        }
    return(dest);
}

*/


/*
//===========================================================================
    int memcmp (void *buf1, void *buf2, size_t count)
//===========================================================================
// 
// Description: Compare characters in two buffers
//    
//      Inputs: buf1    - pointer to first buffer.
//              buf2    - pointer to second buffer.
//              count   - number of chars to compare.
//    
//     Returns: -1  (buf1 < buf2)
//               0  (buf1 == buf2)
//               1  (buf1 > buf2)
//    
//      (10/26/00)
//---------------------------------------------------------------------------
{
    int retval = 0;
    char *b1 = (char*)buf1;
    char *b2 = (char*)buf2;
    for (size_t i = 0; i < count; i++) {
        char c1 = *b1++;
        char c2 = *b2++;
        if (c1 < c2) {
            return(-1);
            }
        else if (c1 > c2) {
            return(1);
            }
        }
    return(0);
}

//===========================================================================
    void* memcpy (void *dest, void *src, size_t size)
//===========================================================================
// 
// Description: Copies byte between buffers.
//    
//      Inputs: dest    - pointer to destination buffer.
//              src     - pointer to source buffer.
//              size    - number of bytes to copy.
//    
//     Returns: dest
//    
//      (10/26/00)
//---------------------------------------------------------------------------
{
    char *p1 = (char*)dest;
    char *p2 = (char*)src;
    for (size_t i = 0; i < size; i++) {
        *p1++ = *p2++;
        }
    return(dest);
}

//===========================================================================
    void* memset (void *dest, int c, size_t count)
//===========================================================================
// 
// Description: Set count bytes beginning at the byte pointed to by dest to c.
//    
//      Inputs: 
//    
//     Returns: 
//    
//      (11/10/00)
//---------------------------------------------------------------------------
{
    char *p1 = (char*)dest;
    for (size_t i = 0; i < count; i++) {
        *p1++ = (char)c;
        }
    return(dest);
}
*/

⌨️ 快捷键说明

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