📄 support.cpp
字号:
}
_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 + -