---
title: FindNextAltInterface
framework: kernel
role: pseudoSymbol
path: kernel/iousbinterface/1809512-findnextaltinterface
---

# FindNextAltInterface

## Declaration

```occ
virtual const IOUSBInterfaceDescriptor *FindNextAltInterface(
 const IOUSBInterfaceDescriptor *current, 
 IOUSBFindInterfaceRequest *request); 
```

## Parameters

- `current`: interface descriptor to start searching from, NULL to start at alternate interface 0.
- `request`: specifies what properties an interface must have to match.

## Return Value

Return Value Pointer to a matching interface descriptor, or NULL if none match.

## Overview

Overview return alternate interface descriptor satisfying the requirements specified in request, or NULL if there aren't any. request is updated with the properties of the returned interface.

## See Also

### Miscellaneous

- [DeviceRequest(IOUSBDevRequest *, IOUSBCompletion *)](kernel/iousbinterface/1809501-devicerequest.md)
- [DeviceRequest(IOUSBDevRequestDesc *, IOUSBCompletion *)](kernel/iousbinterface/1809505-devicerequest.md)
- [EnableRemoteWake](kernel/iousbinterface/1809508-enableremotewake.md)
- [FindNextAssociatedDescriptor](kernel/iousbinterface/1809516-findnextassociateddescriptor.md)
- [FindNextPipe(IOUSBPipe *, IOUSBFindEndpointRequest *)](kernel/iousbinterface/1809521-findnextpipe.md)
- [FindNextPipe(IOUSBPipe *, IOUSBFindEndpointRequest *, bool)](kernel/iousbinterface/1809527-findnextpipe.md)
- [GetAlternateSetting](kernel/iousbinterface/1809532-getalternatesetting.md)
- [GetConfigValue](kernel/iousbinterface/1809537-getconfigvalue.md)
- [GetDevice](kernel/iousbinterface/1809542-getdevice.md)
- [GetEndpointProperties](kernel/iousbinterface/1809546-getendpointproperties.md)
- [GetEndpointPropertiesV3](kernel/iousbinterface/1809552-getendpointpropertiesv3.md)
- [GetInterfaceClass](kernel/iousbinterface/1809556-getinterfaceclass.md)
- [GetInterfaceNumber](kernel/iousbinterface/1809561-getinterfacenumber.md)
- [GetInterfaceProtocol](kernel/iousbinterface/1809564-getinterfaceprotocol.md)
- [GetInterfaceStatus](kernel/iousbinterface/1809569-getinterfacestatus.md)
- [GetInterfaceStringIndex](kernel/iousbinterface/1809572-getinterfacestringindex.md)
- [GetInterfaceSubClass](kernel/iousbinterface/1809576-getinterfacesubclass.md)
- [GetNumEndpoints](kernel/iousbinterface/1809584-getnumendpoints.md)
- [GetPipeObj](kernel/iousbinterface/1809591-getpipeobj.md)
- [RecreateStreams](kernel/iousbinterface/1809596-recreatestreams.md)
- [RememberStreams](kernel/iousbinterface/1809603-rememberstreams.md)
- [RememberStreams.](kernel/iousbinterface/1809609-rememberstreams.md)
- [SetAlternateInterface](kernel/iousbinterface/1809615-setalternateinterface.md)
- [SetFunctionSuspendFeature](kernel/iousbinterface/1809621-setfunctionsuspendfeature.md)
