IeXdi2Exec::RegisterEmbeddedBpOpCode (Windows Embedded CE 6.0)
1/5/2010
This method registers an embedded code breakpoint op code in the list of recognized breakpoint op codes.
Syntax
HRESULT RegisterEmbeddedBpOpCode(
[in] DWORD dwOpCodeSizeInByte,
[in, size_is(dwOpCodeSizeInByte)] const BYTE* pbOpCode,
[in] DWORD dwExecMode,
[in] BOOL fToBeUsedAsSwBp
);
Parameters
- dwOpCodeSizeInByte
Size of the op code in bytes.
- pbOpCode
Buffer containing the trap op code to register.
dwExecMode
Processor mode this op code corresponds to.For example, the trap op code may be different in 16-bit mode than in 32-bit mode on processors such as ARM and MIPS that have two modes.
By convention, dwExecMode should be 0 for 32-bit mode (default), and 1 for 16-bit mode.
fToBeUsedAsSwBp
Indicator that, if TRUE, indicates this op code should be used when the eXDI service needs to set a software breakpoint.If TRUE, the op-code replaces the default op code or any previously registered op code with fToBeUsedAsSwBp TRUE until unregistered. Each value of dwExecMode has a corresponding op code.
Return Value
The following table shows return values for this method.
Value | Description |
---|---|
S_OK |
Indicates the function was successful. |
E_FAIL |
Indicates an unspecified failure. |
E_NORESAVAILABLE |
Indicates a breakpoint resource was not available and the method cannot instantiate all breakpoints. |
E_OUTOFMEMORY |
Failed to allocate necessary memory. |
E_INVALIDARG |
Indicates one or more invalid arguments. |
EXDI_E_COMMUNICATION |
Indicates a communication error between host driver and debugging target. |
EXDI_I_ALREADYREGISTERED |
Indicates the op code has already been registered. |
Remarks
This method enables the eXDI service to resume execution from an embedded breakpoint without requiring the client to move the target instruction pointer to the next instruction.
The eXDI service keeps a list of embedded breakpoint op codes, but only one op code may be used per execution mode for setting software breakpoints.
Requirements
Header | eXDI2.h |
Library | ole32.lib, oleaut32.lib |
Windows Embedded CE | Windows CE 5.0 and later |