Depending on what information you are looking to capture, you may be able to use WMI to programmatically get this data. Microsoft provides a set of host bus adapter WMI classes. In order to use them you will need to ensure that the following components are installed:
- Hbaapi.dll - Should be in %systemroot%\system32\
- Hbaapi.mof - Should be in %systemroot%\system32\wbem.
- Drivers along with an adapter that is supported
For more information see the Discovering Fibre Channel Topology through WBEM article from Microsoft.
Additionally, QLogic may already provide it's own WMI classes or HBA API. This may be another option for you to explore.