コード例 #1
0
BOOL neTKVMRegAccess::WriteString(LPCTSTR lpzValueName,
							   LPCTSTR lpzValue,
							   LPCTSTR lpzSubKey)
{
	BOOL bResult = FALSE;
	HKEY hkWriteKeyHandle = NULL;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];
	DWORD dwDisposition;

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegCreateKeyEx(m_hkPrimaryHKey,
					   tcaFullRegPath,
					   0,
					   TEXT(""),
					   REG_OPTION_NON_VOLATILE,
					   KEY_WRITE,
					   NULL,
					   &hkWriteKeyHandle,
					   &dwDisposition) == ERROR_SUCCESS)
	{
		DWORD dwBuffSize = (DWORD)_tcslen(lpzValue) * sizeof(lpzValue[0]) + 1;
		if (RegSetValueEx(hkWriteKeyHandle,
						  lpzValueName,
						  0,
						  REG_SZ,
						  (LPCBYTE)lpzValue,
						  dwBuffSize) == ERROR_SUCCESS)
			bResult = TRUE;
		RegCloseKey(hkWriteKeyHandle);
	}

	return bResult;
}
コード例 #2
0
BOOL neTKVMRegAccess::GetValueInfo(LPCTSTR lpzValueName,
						  DWORD* lpDataType,
						  DWORD* lpDataSize,
						  LPCTSTR lpzSubKey)
{
	BOOL bRet = FALSE;
	HKEY hkReadKeyHandle = NULL;
	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		if (RegQueryValueEx(hkReadKeyHandle,
							lpzValueName,
							NULL,
							lpDataType,
							NULL,
							lpDataSize) == ERROR_SUCCESS)
			bRet = TRUE;

 		RegCloseKey(hkReadKeyHandle);
	}

	return bRet;
}
コード例 #3
0
BOOL neTKVMRegAccess::WriteBinary(LPCTSTR lpzValueName,
							   LPCBYTE lpData,
							   DWORD   dwDataSize,
							   LPCTSTR lpzSubKey)
{
	BOOL bResult = FALSE;
	HKEY hkWriteKeyHandle = NULL;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];
	DWORD dwDisposition;

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegCreateKeyEx(m_hkPrimaryHKey,
					   tcaFullRegPath,
					   0,
					   TEXT(""),
					   REG_OPTION_NON_VOLATILE,
					   KEY_WRITE,
					   NULL,
					   &hkWriteKeyHandle,
					   &dwDisposition) == ERROR_SUCCESS)
	{
		if (RegSetValueEx(hkWriteKeyHandle,
						  lpzValueName,
						  0,
						  REG_BINARY,
						  lpData,
						  dwDataSize) == ERROR_SUCCESS)
			bResult = TRUE;
		RegCloseKey(hkWriteKeyHandle);
	}

	return bResult;
}
コード例 #4
0
BOOL neTKVMRegAccess::ReadKeyName(LPTSTR  lpsKeyName,
							   DWORD   dwNumberOfElements,
							   DWORD   dwIndex,
							   LPCTSTR lpzSubKey)
{
	BOOL bResult = FALSE;
	HKEY hkReadKeyHandle = NULL;
	FILETIME stTimeFile;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_ENUMERATE_SUB_KEYS,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		DWORD dwBuffSize = dwNumberOfElements * sizeof(lpsKeyName[0]);
		if (RegEnumKeyEx(hkReadKeyHandle,
						 dwIndex,
						 lpsKeyName,
						 &dwBuffSize,
						 NULL,
						 NULL,
						 NULL,
						 &stTimeFile) == ERROR_SUCCESS)
			bResult = TRUE;
		RegCloseKey(hkReadKeyHandle);
	}

	return bResult;
}
コード例 #5
0
BOOL neTKVMRegAccess::ReadValueName(LPTSTR  lpsValueName,
								 DWORD   dwNumberOfElements,
								 DWORD   dwIndex,
								 LPCTSTR lpzSubKey)
{
	BOOL bResult = FALSE;
    BYTE baData[DEFAULT_REG_ENTRY_DATA_LEN];
	DWORD dwDataSize = DEFAULT_REG_ENTRY_DATA_LEN,
		  dwType = REG_BINARY;
	HKEY hkReadKeyHandle = NULL;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		DWORD dwBuffSize = dwNumberOfElements * sizeof(lpsValueName[0]);
		if (RegEnumValue(hkReadKeyHandle,
						 dwIndex,
						 lpsValueName,
						 &dwBuffSize,
						 NULL,
						 &dwType,
						 baData,
						 &dwDataSize) == ERROR_SUCCESS)
			bResult = TRUE;
		RegCloseKey(hkReadKeyHandle);
	}

	return bResult;
}
コード例 #6
0
DWORD neTKVMRegAccess::ReadBinary(LPCTSTR lpzValueName,
							   LPBYTE  lpzData,
							   DWORD   dwSize,
							   LPCTSTR lpzSubKey)
{
	DWORD dwRes = 0;
	DWORD dwType = REG_BINARY;
	HKEY hkReadKeyHandle = NULL;
	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	memset(lpzData, 0, dwSize);

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		if (RegQueryValueEx(hkReadKeyHandle,
							lpzValueName,
							NULL,
							&dwType,
							lpzData,
							&dwSize) == ERROR_SUCCESS)
			dwRes = dwSize;

 		RegCloseKey(hkReadKeyHandle);
	}

	return dwRes;
}
コード例 #7
0
DWORD neTKVMRegAccess::ReadString(LPCTSTR lpzValueName,
							   LPTSTR  lpzData,
							   DWORD   dwNumberOfElements,
							   LPCTSTR lpzSubKey)
{
	DWORD dwRes = 0;
	DWORD dwType = REG_SZ;
	HKEY hkReadKeyHandle = NULL;
	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];
	DWORD dwBuffSize = dwNumberOfElements * sizeof(lpzData[0]);

	memset(lpzData, 0, dwBuffSize);

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		if (RegQueryValueEx(hkReadKeyHandle,
							lpzValueName,
							NULL,
							&dwType,
							(LPBYTE)lpzData,
							&dwBuffSize) == ERROR_SUCCESS)
			dwRes = dwBuffSize / sizeof(lpzData[0]);

 		RegCloseKey(hkReadKeyHandle);
	}

	return dwRes;
}
コード例 #8
0
BOOL neTKVMRegAccess::AddKey(LPCTSTR lpzKeyName)
{
    BOOL bResult = FALSE;
    HKEY hkWriteKeyHandle = NULL;
    TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];
    DWORD dwDisposition;

    FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzKeyName);

    if (RegCreateKeyEx(m_hkPrimaryHKey,
                       tcaFullRegPath,
                       0,
                       TEXT(""),
                       REG_OPTION_NON_VOLATILE,
                       KEY_WRITE,
                       NULL,
                       &hkWriteKeyHandle,
                       &dwDisposition) == ERROR_SUCCESS)
    {
        bResult = TRUE;
        RegCloseKey(hkWriteKeyHandle);
    }

    return bResult;
}
コード例 #9
0
BOOL neTKVMRegAccess::GetKeyInfo(LPDWORD lpdwNofSubKeys,
							  LPDWORD lpdwMaxSubKeyLen,
							  LPDWORD lpdwNofValues,
							  LPDWORD lpdwMaxValueNameLen,
							  LPDWORD lpdwMaxValueLen,
							  LPCTSTR lpzSubKey)
{
	BOOL bRet = FALSE;
	HKEY hkReadKeyHandle = NULL;
	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		if (RegQueryInfoKey(hkReadKeyHandle,
							NULL,
							NULL,
							NULL,
							lpdwNofSubKeys,
							lpdwMaxSubKeyLen,
							NULL,
							lpdwNofValues,
							lpdwMaxValueNameLen,
							lpdwMaxValueLen,
							NULL,
							NULL) == ERROR_SUCCESS)
			bRet = TRUE;

 		RegCloseKey(hkReadKeyHandle);
	}

	return bRet;

}
コード例 #10
0
BOOL neTKVMRegAccess::DeleteValue(LPCTSTR lpzValueName, LPCTSTR lpzSubKey)
{
	BOOL bResult = FALSE;
	HKEY hkDeleteKeyHandle = NULL;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_WRITE,
					 &hkDeleteKeyHandle) == ERROR_SUCCESS)
	{
		if (RegDeleteValue(hkDeleteKeyHandle,
						   lpzValueName) == ERROR_SUCCESS)
			bResult = TRUE;
		RegCloseKey(hkDeleteKeyHandle);
	}

	return bResult;
}
コード例 #11
0
BOOL neTKVMRegAccess::ReadDWord(LPCTSTR lpzValueName,
							 LPDWORD lpdwValue,
							 LPCTSTR lpzSubKey)
{
	BOOL  bRes = FALSE;
	DWORD dwValue = 0,
		  dwSize = sizeof(dwValue),
		  dwType = REG_DWORD;
	HKEY hkReadKeyHandle = NULL;
   	TCHAR tcaFullRegPath[DEFAULT_REG_ENTRY_DATA_LEN];

	FormatFullRegPath(tcaFullRegPath, TBUF_SIZEOF(tcaFullRegPath), lpzSubKey);

	if (RegOpenKeyEx(m_hkPrimaryHKey,
					 tcaFullRegPath,
					 0,
					 KEY_QUERY_VALUE,
					 &hkReadKeyHandle) == ERROR_SUCCESS)
	{
		if (RegQueryValueEx(hkReadKeyHandle,
							lpzValueName,
							NULL,
							&dwType,
							(LPBYTE)&dwValue,
							&dwSize) == ERROR_SUCCESS)
		{
			bRes = TRUE;
			if (lpdwValue)
			{
				*lpdwValue = dwValue;
			}
		}

	 	RegCloseKey(hkReadKeyHandle);
	}

	return bRes;
}