mirror of
https://github.com/Microsoft/Detours
synced 2026-06-08 11:44:51 +00:00
Page:
DetourAttach
Pages
DetourAllocateRegionWithinJumpBounds
DetourAttach
DetourAttachEx
DetourBinaryBywayCallback
DetourBinaryClose
DetourBinaryCommitCallback
DetourBinaryDeletePayload
DetourBinaryEditImports
DetourBinaryEnumeratePayloads
DetourBinaryFileCallback
DetourBinaryFindPayload
DetourBinaryOpen
DetourBinaryPurgePayloads
DetourBinaryResetImports
DetourBinarySetPayload
DetourBinarySymbolCallback
DetourBinaryWrite
DetourCodeFromPointer
DetourCopyPayloadToProcess
DetourCopyPayloadToProcessEx
DetourCreateProcessWithDll
DetourCreateProcessWithDllEx
DetourCreateProcessWithDlls
DetourDetach
DetourEnumerateExportCallback
DetourEnumerateExports
DetourEnumerateImports
DetourEnumerateImportsEx
DetourEnumerateModules
DetourFindFunction
DetourFindPayload
DetourFindPayloadEx
DetourFindRemotePayload
DetourFinishHelperProcess
DetourGetContainingModule
DetourGetEntryPoint
DetourGetModuleSize
DetourGetSizeOfPayloads
DetourImportFileCallback
DetourImportFuncCallback
DetourImportFuncCallbackEx
DetourIsHelperProcess
DetourRestoreAfterWith
DetourSetIgnoreTooSmall
DetourSetRetainRegions
DetourSetSystemRegionLowerBound
DetourSetSystemRegionUpperBound
DetourTransactionAbort
DetourTransactionBegin
DetourTransactionCommit
DetourTransactionCommitEx
DetourUpdateThread
FAQ
Home
OverviewHelpers
OverviewInterception
OverviewPayloads
Reference
SampleCommem
SampleCping
SampleDisas
SampleDtest
SampleDumpe
SampleDumpi
SampleDynamicAlloc
SampleEinst
SampleExcep
SampleFindFunc
SampleImpmunge
SampleMember
SamplePayload
SampleRegion
SampleSetdll
SampleSimple
SampleSlept
SampleSyelog
SampleTraceapi
SampleTracebld
SampleTracelnk
SampleTracemem
SampleTracereg
SampleTraceser
SampleTracetcp
SampleTryman
SampleWithdll
Samples
Using Detours
Clone
7
DetourAttach
Brian Gianforcaro edited this page 2021-07-21 14:58:55 -07:00
Table of Contents
DetourAttach
Attach a detour to a target function.
Definition
LONG DetourAttach(
_Inout_ PVOID * ppPointer,
_In_ PVOID pDetour
);
Parameters
- ppPointer
- Pointer to the target pointer to which the detour will be attached. See the remarks section below for additional considerations.
- pDetour
- Pointer to the detour function.
Return value
Returns NO_ERROR if successful; otherwise, returns an error code.
Error codes
- ERROR_INVALID_BLOCK
- The function referenced is too small to be detoured.
- ERROR_INVALID_HANDLE
- The
ppPointerparameter isNULLor points to aNULLpointer. - ERROR_INVALID_OPERATION
- No pending transaction exists.
- ERROR_NOT_ENOUGH_MEMORY
- Not enough memory exists to complete the operation.
Remarks
Warning: The variable pointed to by the ppPointer argument must remain alive for the duration of the transaction, that is until DetourTransactionCommit, DetourTransactionCommitEx or DetourTransactionAbort is called.
DetourAttach attaches a detour to a target function as part of the
current transaction opened by the
DetourTransactionBegin API.
For more information on using Detours to intercept function calls, see Interception of Binary Functions or Using Detours in the Detours Overview.
Related Samples
Commem, Cping, Dtest, Excep, FindFunc, Simple, Slept, Traceapi, Tracebld, Tracelnk, Tracemem, Tracereg, Traceser, Tracetcp, Tryman.