IVdsControllerControllerPort::QueryControllerPorts method (vdshwprv.h)
Returns an IEnumVdsObject object that enumerates the ports of the controller.
HRESULT QueryControllerPorts( IEnumVdsObject **ppEnum );
The address of an IEnumVdsObject interface pointer that can be used to enumerate the controller ports as controller port objects. For more information, see Working with Enumeration Objects. Callers must release the interface and each of the controller port objects when they are no longer needed by calling the IUnknown::Release method.
This method can return standard HRESULT values, such as E_INVALIDARG or E_OUTOFMEMORY, and VDS-specific return values. It can also return converted system error codes using the HRESULT_FROM_WIN32 macro. Errors can originate from VDS itself or from the underlying VDS provider that is being used. Possible return values include the following.
||The enumeration of controller ports was returned successfully. If the controller has no ports, the enumeration is empty.|
||The cache of the provider is corrupted. This indicates a software or communication problem inside a provider that caches information about the attached devices. The caller can use the IVdsHwProvider::Reenumerate method followed by the IVdsHwProvider::Refresh method to restore the cache.|
||The controller object is no longer present.|
||The controller is in a failed state and is unable to perform the requested operation.|
||Another operation is in progress. This operation cannot proceed until previous operations are complete.|
||This operation is not supported by this provider.|
|Minimum supported client||Windows Vista [desktop apps only]|
|Minimum supported server||Windows Server 2003 R2 [desktop apps only]|