라이선스 체크에 적용하기 위해 맥어드레스(Mac Address) 비교 함수를 공유해본다.
CPP
BOOL [CLASS]::OnCheckAddress(CString &strMacAddr) { // MAC Address를 구한다. BOOL bResult = FALSE; CString strMacOri; strMacOri = strMacAddr; if (g_Pinfo!=NULL) delete (g_Pinfo); unsigned long nError; nError = GetAdaptersInfo(g_Pinfo,&g_Len); if (nError==0) { strMacAddr.Format("%02X%02X%02X%02X%02X%02X",g_Pinfo->Address[0],g_Pinfo->Address[1],g_Pinfo->Address[2],g_Pinfo->Address[3],g_Pinfo->Address[4],g_Pinfo->Address[5]); bResult = TRUE; } if (nError==ERROR_NO_DATA) { bResult = FALSE; } if (nError==ERROR_NOT_SUPPORTED) { bResult = FALSE; } if (nError==ERROR_BUFFER_OVERFLOW) { g_Pinfo= (PIP_ADAPTER_INFO)malloc(g_Len); nError = GetAdaptersInfo(g_Pinfo,&g_Len); if (nError==0) { if (g_Pinfo!=NULL) { strMacAddr.Format("%02X%02X%02X%02X%02X%02X",g_Pinfo->Address[0],g_Pinfo->Address[1],g_Pinfo->Address[2],g_Pinfo->Address[3],g_Pinfo->Address[4],g_Pinfo->Address[5]); bResult = TRUE; } } } if(strMacAddr==strMacOri) bResult = TRUE; else bResult = FALSE; return bResult; }