Files
mirror-processhacker/2.x/trunk/ProcessHacker/include/memsrch.h
T
wj32 678fa906aa fixed argument specifications
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@3465 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2010-08-04 06:14:51 +00:00

62 lines
1.3 KiB
C

#ifndef MEMSRCH_H
#define MEMSRCH_H
typedef struct _PH_MEMORY_RESULT
{
LONG RefCount;
PVOID Address;
SIZE_T Length;
PH_STRINGREF Display;
} PH_MEMORY_RESULT, *PPH_MEMORY_RESULT;
typedef VOID (NTAPI *PPH_MEMORY_RESULT_CALLBACK)(
__in __assumeRefs(1) PPH_MEMORY_RESULT Result,
__in_opt PVOID Context
);
#define PH_DISPLAY_BUFFER_COUNT (PAGE_SIZE * 2 - 1)
typedef struct _PH_MEMORY_SEARCH_OPTIONS
{
BOOLEAN Cancel;
PPH_MEMORY_RESULT_CALLBACK Callback;
PVOID Context;
} PH_MEMORY_SEARCH_OPTIONS, *PPH_MEMORY_SEARCH_OPTIONS;
typedef struct _PH_MEMORY_STRING_OPTIONS
{
PH_MEMORY_SEARCH_OPTIONS Header;
ULONG MinimumLength;
BOOLEAN DetectUnicode;
ULONG MemoryTypeMask;
} PH_MEMORY_STRING_OPTIONS, *PPH_MEMORY_STRING_OPTIONS;
PVOID PhAllocateForMemorySearch(
__in SIZE_T Size
);
VOID PhFreeForMemorySearch(
__in __post_invalid PVOID Memory
);
PVOID PhCreateMemoryResult(
__in PVOID Address,
__in SIZE_T Length
);
VOID PhReferenceMemoryResult(
__in PPH_MEMORY_RESULT Result
);
VOID PhDereferenceMemoryResult(
__in PPH_MEMORY_RESULT Result
);
VOID PhDereferenceMemoryResults(
__in_ecount(NumberOfResults) PPH_MEMORY_RESULT *Results,
__in ULONG NumberOfResults
);
#endif