Edit

Share via


POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK callback function

Pointer to a function that is used by a debugger to obtain function table entries from a provider that was registered using RtlAddFunctionTable. This must be exported from a DLL and named OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME. It will be invoked by a debugger from within the debugger's process.

Syntax

typedef
DWORD
OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK (
    _In_ HANDLE Process,
    _In_ PVOID TableAddress,
    _Out_ PDWORD Entries,
    _Outptr_result_buffer_(*Entries) PRUNTIME_FUNCTION* Functions
    );
typedef OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK *POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK;

Parameters

Process [in]

Handle to the target process.

TableAddress [in]

Address of the DYNAMIC_FUNCTION_TABLE in the target process.

Entries [out]

Returned count of entries in the Functions array.

Functions [out]

Returned pointer to an array of RUNTIME_FUNCTION entries. This array must be allocated using HeapAlloc on the heap returned from GetProcessHeap.

Return value

NTSTATUS code indicating if the function was able to successfully obtain the Functions array. STATUS_SUCCESS (0x0) indicates success.

Remarks

Out of process function table dlls must be registered in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\KnownFunctionTableDlls to be loaded by the Visual Studio or Windows debuggers.