#include <cafe/usb_mic.h>

int USBMICClose(usb_mic_handle_t h_mic);


h_mic Instance handle returned via usb_event_data_t data structure through the event handler of type usb_event_handler_t that is provided as an argument to USBMICInit and will contain a valid instance handle when the USB microphone is attached.

Return Values

A value of zero indicates success and any other value the type of error that was encountered.


Calling this function will stop all streaming, if still in progress, and close the USB UAC stack. All resources referenced in calling USBMICOpen have been released upon successful return from this function. The underlying UAC stack has also released all resources for this instance and is now quiescent. If it is not desired to reopen this device instance then all resources that were provided with USBMICOpen can now be freed. USBMICUninit needs to be called to fully shut down the UAC library.

Unless the UAC device has been disconnected, the USB UAC stack can be reopened with the same resources that were initially used. If the device has been disconnected, however, the sequence of USBMICOpenQuery and USBMICOpen and associated resource allocation must be repeated since different devices may have different resource requirements.

This function can be called from the event handler that was provided with USBMICInit.

This function requires several milliseconds to complete, although much of that time is spent waiting on synchronization objects. It is not recommended to call this function from a timing sensitive thread.

Do Not Call From

Background Do not call this function from the background.
Interrupt handler Do not call this function from any interrupt handler.
Exception handler Do not call this function from any exception handler.

See Also

Error Codes

Revision History

2013/05/08 Automated cleanup pass.
2012/08/03 Cleanup Pass
2012/07/05 Update for SDK2.06
2012/01/04 Initial version.