// ****************************************************************** // Local Functions // ****************************************************************** static LONG findDrvPath (char *clsidstr,char *dllpath,int dllpathsize) { HKEY hkEnum,hksub,hkpath; char databuf[512],extraBuf[512]; LONG cr,rc = -1; DWORD datatype,datasize; DWORD index; OFSTRUCT ofs; HFILE hfile; BOOL found = FALSE; CharLowerBuffA(clsidstr,(DWORD)strlen(clsidstr)); if ((cr = RegOpenKeyA(HKEY_CLASSES_ROOT,COM_CLSID,&hkEnum)) == ERROR_SUCCESS) { index = 0; while (cr == ERROR_SUCCESS && !found) { cr = RegEnumKey(hkEnum,index++,(LPTSTR)databuf,512); if (cr == ERROR_SUCCESS) { CharLowerBuffA(databuf,(DWORD)strlen(databuf)); //MultiByteToWideChar(CP_ACP,0,(LPCSTR)databuf,-1,(LPWSTR)wData,100); WideCharToMultiByte(CP_ACP,0,(LPCWSTR)databuf,-1,extraBuf,100,NULL,NULL); CharLowerBuffA(extraBuf,(DWORD)strlen(extraBuf)); if (!(strcmp(extraBuf,clsidstr))) { if ((cr = RegOpenKeyEx(hkEnum,(LPCTSTR)databuf,0,KEY_READ,&hksub)) == ERROR_SUCCESS) { if ((cr = RegOpenKeyExA(hksub,INPROC_SERVER,0,KEY_READ,&hkpath)) == ERROR_SUCCESS) { datatype = REG_SZ; datasize = (DWORD)dllpathsize; cr = RegQueryValueEx(hkpath,0,0,&datatype,(LPBYTE)dllpath,&datasize); if (cr == ERROR_SUCCESS) { memset(&ofs,0,sizeof(OFSTRUCT)); ofs.cBytes = sizeof(OFSTRUCT); hfile = OpenFile(dllpath,&ofs,OF_EXIST); if (hfile) rc = 0; } RegCloseKey(hkpath); } RegCloseKey(hksub); } found = TRUE; // break out } } } RegCloseKey(hkEnum); } return rc; }
/*********************************************************************** * CharLowerA (USER32.@) */ LPSTR WINAPI CharLowerA(LPSTR str) { if (!HIWORD(str)) { char ch = LOWORD(str); CharLowerBuffA( &ch, 1 ); return (LPSTR)(UINT_PTR)(BYTE)ch; } __TRY { CharLowerBuffA( str, strlen(str) ); } __EXCEPT_PAGE_FAULT { SetLastError( ERROR_INVALID_PARAMETER ); return NULL; } __ENDTRY return str; }
/* * @implemented */ LPSTR WINAPI CharLowerA(LPSTR str) { if (!HIWORD(str)) { char ch = LOWORD(str); CharLowerBuffA( &ch, 1 ); return (LPSTR)(UINT_PTR)(BYTE)ch; } _SEH2_TRY { CharLowerBuffA( str, strlen(str) ); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { SetLastError( ERROR_INVALID_PARAMETER ); _SEH2_YIELD(return NULL); } _SEH2_END; return str; }
UniqueApp::UniqueApp() : m_hMutex(NULL) { strcpy(m_szKey, LOCAL_PREFIX); size_t uPrefixLen = strlen(LOCAL_PREFIX); char* szExecPath = m_szKey + uPrefixLen; GetModuleFileNameA(NULL, szExecPath, sizeof(m_szKey) - uPrefixLen); char* pChar = szExecPath; while (*pChar) { if (*pChar == '\\') *pChar = '/'; pChar++; } CharLowerBuffA(szExecPath, strlen(szExecPath)); }
void str_wrap_text_lowercase(char *out, aint maxlen) { CharLowerBuffA(out, maxlen); }
void str_wrap_text_lowercase(char *out, ZSTRINGS_SIGNED maxlen) { CharLowerBuffA(out, maxlen); }