TransportSetInterfaceIndex

Selects the interface by index. If successful, it can be assigned to a debug engine instance with the EngAssignTransport function.

Syntax

PULSE_STATUS TransportSetInterfaceIndex(
 [in] PPS_TRANSPORT pTransport,
 [in] uint32_t InterfaceIndex
);

Parameters

PPS_TRANSPORT pTransport

An opaque handle to a transport created by the TransportCreate function.

uint32_t InterfaceIndex

Target interface index in the enumerated interface list. If enumeration is supported for a given transport type, use the TransportEnumerateInterfaces function first. You can get the number of interfaces with the TransportGetInterfaceCount function.

Return value

If the function succeeds, the return value is PULSE_STATUS_SUCCESS.

If it fails, it returns one of the PULSE_STATUS values. Possible return codes include, but are not limited to, the following:

PULSE_STATUS_INSUFFICIENT_RESOURCES
0xC0000002
One of the memory allocations failed during initialization.
PULSE_STATUS_INVALID_PARAMETER
0xC0000010
Might happen if:
  • The pTransport argument is NULL.
  • The InterfaceIndex is out of range.
  • PULSE_STATUS_DEVICE_MISCONFIGURATION
    0xC0000306
    The serial interface cannot be properly configured.
    PULSE_STATUS_DEVICE_INIT_FAILED
    0xC0000307
    Failed to initialize the pttXhci transport. On Windows, this happens if any WinUSB function fails.
    PULSE_STATUS_TRANSPORT_INIT_FAILED
    0xC0000300
    Local debugging vmcall test failed. Check your PulseDbg Host settings.

    Remarks

    This function expects you to enumerate available interfaces before use. It internally calls the TransportSetInterfaceName function with a name from the enumerated interfaces list.