Determines if an address is a valid code or data pointer. That is, the address must be valid and must point to code or data in the target process. @type address: int @param address: Memory address to query. @rtype: bool @return: C{True} i
(self, address)
| 2501 | # ------------------------------------------------------------------------------ |
| 2502 | |
| 2503 | def is_pointer(self, address): |
| 2504 | """ |
| 2505 | Determines if an address is a valid code or data pointer. |
| 2506 | |
| 2507 | That is, the address must be valid and must point to code or data in |
| 2508 | the target process. |
| 2509 | |
| 2510 | @type address: int |
| 2511 | @param address: Memory address to query. |
| 2512 | |
| 2513 | @rtype: bool |
| 2514 | @return: C{True} if the address is a valid code or data pointer. |
| 2515 | |
| 2516 | @raise WindowsError: An exception is raised on error. |
| 2517 | """ |
| 2518 | try: |
| 2519 | mbi = self.mquery(address) |
| 2520 | except WindowsError: |
| 2521 | e = sys.exc_info()[1] |
| 2522 | if e.winerror == win32.ERROR_INVALID_PARAMETER: |
| 2523 | return False |
| 2524 | raise |
| 2525 | return mbi.has_content() |
| 2526 | |
| 2527 | def is_address_valid(self, address): |
| 2528 | """ |
nothing calls this directly
no test coverage detected