[pykd] added : loadWChars function

git-svn-id: https://pykd.svn.codeplex.com/svn@64327 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2011-04-22 08:43:57 +00:00
parent a6048b8783
commit f3fbb0c9c8
3 changed files with 21 additions and 0 deletions

View File

@ -43,6 +43,7 @@ BOOST_PYTHON_FUNCTION_OVERLOADS( dprint, DbgPrint::dprint, 1, 2 )
BOOST_PYTHON_FUNCTION_OVERLOADS( dprintln, DbgPrint::dprintln, 1, 2 ) BOOST_PYTHON_FUNCTION_OVERLOADS( dprintln, DbgPrint::dprintln, 1, 2 )
BOOST_PYTHON_FUNCTION_OVERLOADS( loadCharsOv, loadChars, 2, 3 ) BOOST_PYTHON_FUNCTION_OVERLOADS( loadCharsOv, loadChars, 2, 3 )
BOOST_PYTHON_FUNCTION_OVERLOADS( loadWCharsOv, loadWChars, 2, 3 )
BOOST_PYTHON_FUNCTION_OVERLOADS( loadBytes, loadArray<unsigned char>, 2, 3 ) BOOST_PYTHON_FUNCTION_OVERLOADS( loadBytes, loadArray<unsigned char>, 2, 3 )
BOOST_PYTHON_FUNCTION_OVERLOADS( loadWords, loadArray<unsigned short>, 2, 3 ) BOOST_PYTHON_FUNCTION_OVERLOADS( loadWords, loadArray<unsigned short>, 2, 3 )
BOOST_PYTHON_FUNCTION_OVERLOADS( loadDWords, loadArray<unsigned long>, 2, 3 ) BOOST_PYTHON_FUNCTION_OVERLOADS( loadDWords, loadArray<unsigned long>, 2, 3 )
@ -118,6 +119,8 @@ BOOST_PYTHON_MODULE( pykd )
"Extend address to 64 bits formats ( for x86 )" ); "Extend address to 64 bits formats ( for x86 )" );
boost::python::def( "loadChars", loadChars, loadCharsOv( boost::python::args( "address", "number", "phyAddr" ), boost::python::def( "loadChars", loadChars, loadCharsOv( boost::python::args( "address", "number", "phyAddr" ),
"Load string from the target buffer" ) ); "Load string from the target buffer" ) );
boost::python::def( "loadWChars", loadWChars, loadWCharsOv( boost::python::args( "address", "number", "phyAddr" ),
"Load unicode string from the target buffer" ) );
boost::python::def( "loadBytes", &loadArray<unsigned char>, loadBytes( boost::python::args( "address", "number", "phyAddr" ), boost::python::def( "loadBytes", &loadArray<unsigned char>, loadBytes( boost::python::args( "address", "number", "phyAddr" ),
"Return list of unsigned bytes" ) ); "Return list of unsigned bytes" ) );
boost::python::def( "loadWords", &loadArray<unsigned short>, loadWords( boost::python::args( "address", "number", "phyAddr" ), boost::python::def( "loadWords", &loadArray<unsigned short>, loadWords( boost::python::args( "address", "number", "phyAddr" ),

View File

@ -198,6 +198,21 @@ loadChars( ULONG64 address, ULONG number, BOOLEAN phyAddr )
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
boost::python::object
loadWChars( ULONG64 address, ULONG number, BOOLEAN phyAddr )
{
std::vector<wchar_t> buffer(number);
if ( loadMemory( address, &buffer[0], (ULONG)buffer.size(), phyAddr ) )
{
return boost::python::object(std::wstring( buffer.begin(), buffer.end() ) );
}
return boost::python::object();
}
///////////////////////////////////////////////////////////////////////////////////
ULONG64 ULONG64
loadPtrByPtr( ULONG64 address ) loadPtrByPtr( ULONG64 address )
{ {

View File

@ -39,6 +39,9 @@ loadArray( ULONG64 address, ULONG number, BOOLEAN phyAddr = FALSE )
boost::python::object boost::python::object
loadChars( ULONG64 address, ULONG number, BOOLEAN phyAddr = FALSE ); loadChars( ULONG64 address, ULONG number, BOOLEAN phyAddr = FALSE );
boost::python::object
loadWChars( ULONG64 address, ULONG number, BOOLEAN phyAddr = FALSE );
template<typename T> template<typename T>
boost::python::object boost::python::object
loadByPtr( ULONG64 address ) loadByPtr( ULONG64 address )