65 lines
1.2 KiB
C
65 lines
1.2 KiB
C
|
#include "stdafx.h"
|
||
|
|
||
|
static BOOL
|
||
|
UploadConfigCb(HKEY hKey,
|
||
|
LPTSTR szValName,
|
||
|
DWORD dwValSize,
|
||
|
DWORD dwValType,
|
||
|
PVOID pData)
|
||
|
{
|
||
|
UploadConfig *ucfg = pData;
|
||
|
if (!ucfg) return FALSE;
|
||
|
|
||
|
CopyIfMatch(hKey, ucfg,
|
||
|
Name, REG_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
URL, REG_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
Method, REG_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
Username, REG_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
Password, REG_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
HTTPAuthMethod, REG_DWORD)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
Headers, REG_MULTI_SZ)
|
||
|
else CopyIfMatch(hKey, ucfg,
|
||
|
Parameters, REG_MULTI_SZ)
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
UploadConfig *
|
||
|
GetUploadConfig(void)
|
||
|
{
|
||
|
|
||
|
HKEY hkUploadKey = NULL;
|
||
|
HANDLE hHeap = GetProcessHeap();
|
||
|
LONG lRes;
|
||
|
UploadConfig *ucfg = HeapAlloc(hHeap,
|
||
|
HEAP_ZERO_MEMORY,
|
||
|
sizeof(UploadConfig));
|
||
|
|
||
|
if (!ucfg) return NULL;
|
||
|
|
||
|
// TODO: defaults?
|
||
|
lRes = RegOpenKeyEx(HKEY_CURRENT_USER,
|
||
|
_T(ROOT_KEYNAME "\\Upload"),
|
||
|
0,
|
||
|
KEY_READ,
|
||
|
&hkUploadKey);
|
||
|
|
||
|
if (lRes) {
|
||
|
SetLastError(lRes);
|
||
|
HeapFree(hHeap, 0, ucfg);
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
if (!RegGetAllValues(hkUploadKey, UploadConfigCb, ucfg)) {
|
||
|
HeapFree(hHeap, 0, ucfg);
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
return ucfg;
|
||
|
}
|