Share via


Attributes Property

The Attributes property gets or sets the bmAttributes field of the endpoint descriptor, as described in section 9.6.6 of the USB 2.0 specification.

This property is read/write.

Syntax

HRESULT put_Attributes(
  [in]           BYTE bAttributes
);

HRESULT get_Attributes(
  [out, retval]  BYTE *pbAttributes
);

Property Value

The new attribute to set in the endpoint.

Error Codes

Attributes returns S_OK if the operation succeeds or E_POINTER if the pbAttributes parameter is not a valid pointer.

Remarks

The following C++ code example shows how to set and get the Attributes property.

HRESULT  CLoopBackDevice::UpdateEndpointAttributes(ISoftUSBEndpoint *piEndpoint)
{
HRESULT hr = S_OK;
BYTE        bAttributes = 0;

if(NULL == piEndpoint)
{
 hr = E_INVALIDARG;
 goto Exit;
}

/ Get the current attributes
hr = piEndpoint->get_Attributes(&bAttributes);
if(FAILED(hr))
 goto Exit;

// Update the attributes if required
if (0x02 != bAttributes)
{
  // Set the endpoint to a BULK endpoint
 bAttributes = 0x02;
 hr = piEndpoint->put_Attributes(bAttributes);
 if(FAILED(hr))
 goto Exit;
}

Exit:
return hr;
}

Requirements

Header

SoftUSBif.h

See Also

ISoftUSBEndpoint

 

 

Send comments about this topic to Microsoft

Build date: 9/21/2010