---
title: GetEndpointPropertiesV3
framework: kernel
role: pseudoSymbol
path: kernel/iousbinterface/1809552-getendpointpropertiesv3
---

# GetEndpointPropertiesV3

Returns the properties of an endpoint, possibly in an alternate interface, including any information from the SuperSpeed Companion Descriptor

## Declaration

```occ
virtual IOReturn GetEndpointPropertiesV3(
 IOUSBEndpointProperties *endpointProperties); 
```

## Parameters

- `endpointProperties`: Pointer to a IOUSBEndpointProperties structure that upon success will contain the information for the endpoint. The bVersion field needs to be initialized with the structure version (see USBEndpointVersion enum in USB.h). The bAlternateSetting, bEndpointNumber, and bDirection (kUSBIn, kUSBOut) MUST also be filled in with the values for the desired descriptor. Not that the bMaxStreams value for Bulk endpoints is the value specified by the bmAttributes field in the SuperSpeed companion descriptor.

## Return Value

Return Value returns kIOReturnSuccess if the endpoint is found, and kIOUSBEndpointNotFound if it is not.

## 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)
- [FindNextAltInterface](kernel/iousbinterface/1809512-findnextaltinterface.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)
- [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)
