85 goto CheckValueArgument;
91 blnBadParameter =
FALSE;
100 blnUnicodeDump =
TRUE;
102 else if ((*pchParameter ==
_T(
'/'))&&(*(pchParameter+1) ==
_T(
'f')))
104 pchFilename = pchParameter+2;
106 else if (!pchValueFull)
108 pchValueFull = pchParameter;
112 blnBadParameter =
TRUE;
116 rConsole.
Write(
_T(
"Bad parameter: "));
117 rConsole.
Write(pchParameter);
124 const TCHAR *pszEmpty =
_T(
"");
125 const TCHAR *pszPath;
140 goto ValueCommandNAonRoot;
143 pchValueName = pchSep?(pchSep+1):(pchValueFull);
144 pszPath = pchSep?pchValueFull:
_T(
".");
157 pchValueName = (
TCHAR*)pszEmpty;
164 goto SkipValueCommand;
168 goto ValueCommandNAonRoot;
171 rConsole.
Write(
_T(
"Value name : \""));
176 (*pchValueName ==
_T(
'\"'))&&
177 (pchValueName[
l-1] ==
_T(
'\"')))
179 pchValueName[
l-1] = 0;
182 rConsole.
Write(pchValueName);
185 nError =
Key.GetValue(pchValueName,
NULL,
NULL,&dwValueSize);
188 pDataBuffer =
new BYTE [dwValueSize];
189 Key.GetValue(pchValueName,&dwType,pDataBuffer,&dwValueSize);
190 rConsole.
Write(
_T(
"Value type : "));
192 rConsole.
Write(
_T(
"\nValue data : "));
199 for (
unsigned int i = 0 ;
i < dwValueSize ;
i++)
211 for (
unsigned int i = 0 ;
i < dwValueSize ;
i++)
223 TCHAR *pchCurrentString = (
TCHAR *)pDataBuffer;
225 while(*pchCurrentString)
228 rConsole.
Write(pchCurrentString);
230 pchCurrentString +=
_tcslen(pchCurrentString)+1;
247 for (
i = 0 ;
i < dwValueSize ;
i++)
262 unsigned int n = *(pDataBuffer+
i);
266 if (
i && (
i%16 == 15))
269 for (
j =
i-15;
j <=
i;
j += blnUnicodeDump?2:1)\
271 if ((
j%8 == 0)&&(
j%16 != 0))
280 wchar_t ch = *(
TCHAR *)(pDataBuffer+
j);
294 unsigned char ch = *(pDataBuffer+
j);
321 if (
k && (
k%16 == 15))
324 for (
j =
k-15;
j <
i;
j += blnUnicodeDump?2:1)
326 if (blnUnicodeDump&&(
j+1 >=
i))
331 if ((
j%8 == 0)&&(
j%16 != 0))
340 wchar_t ch = *(
TCHAR *)(pDataBuffer+
j);
354 unsigned char ch = *(pDataBuffer+
j);
377 rConsole.
Write(
_T(
"Exporting value data to "));
378 rConsole.
Write(pchFilename);
384 rConsole.
Write(
_T(
"Cannot create new file "));
385 rConsole.
Write(pchFilename);
387 goto SkipValueCommand;
390 DWORD dwBytesWritten;
393 rConsole.
Write(
_T(
"Error writting file.\n"));
395 goto SkipValueCommand;
398 ASSERT(dwBytesWritten == dwValueSize);
410 rConsole.
Write(
_T(
"(System cannot find the value specified)\n"));
417 delete[] pDataBuffer;
419 ValueCommandNAonRoot:
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
int _tcscmp(const _TCHAR *s1, const _TCHAR *s2)
#define INVALID_HANDLE_VALUE
_TCHAR * _tcscpy(_TCHAR *to, const _TCHAR *from)
BOOL GetKey(const TCHAR *pchRelativePath, REGSAM DesiredAccess, CRegistryKey &rKey)
TCHAR * GetNextArgument()
void ResetArgumentIteration()
size_t __cdecl _tcslen(const _TCHAR *str)
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
#define REG_RESOURCE_LIST
#define ERROR_FILE_NOT_FOUND
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
_CRTIMP char *__cdecl _itoa(_In_ int _Value, _Pre_notnull_ _Post_z_ char *_Dest, _In_ int _Radix)
virtual const TCHAR * GetHelpString()
#define REG_DWORD_LITTLE_ENDIAN
#define FILE_ATTRIBUTE_NORMAL
const TCHAR * GetLastErrorDescription()
#define REG_DWORD_BIG_ENDIAN
#define COMMAND_NA_ON_ROOT
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
IN OUT PVCB OUT PDIRENT OUT PBCB IN BOOLEAN CreateFile
BOOL Write(const TCHAR *p, DWORD dwChars=0)
static const TCHAR * GetValueTypeName(DWORD dwType)
_TCHAR * _tcsrchr(const _TCHAR *s, _XINT c)