UcmConnectorDataDirectionChanged function (ucmmanager.h)
Notifies the USB connector manager framework extension (UcmCx) with the new data role of a change in data role.
Syntax
void UcmConnectorDataDirectionChanged(
[in] UCMCONNECTOR Connector,
[in] BOOLEAN Success,
[in] UCM_DATA_ROLE CurrentDataRole
);
Parameters
[in] Connector
Handle to the connector object that the client driver received in the previous call to UcmConnectorCreate.
[in] Success
Used to indicate failure of a data-role swap that was initiated by UcmCx using EVT_UCM_CONNECTOR_SET_DATA_ROLE.
If TRUE, the operation was successful. FALSE, otherwise.
[in] CurrentDataRole
A UCM_TYPEC_PARTNER value that indicates the new data role.
Return value
None
Remarks
UcmConnectorDataDirectionChanged returns STATUS_SUCCESS if the operation succeeds. Otherwise, this inline function can return an appropriate NTSTATUS value.
If the connector partner is attached, UcmCx updates the data role of the partner depending on the CurrentDataRole value. For example, if the client driver changes the data role to UcmTypeCPortStateUfp, UcmCx updates the role of the connector partner to UcmTypeCPortStateDfp.
UcmCx can change the data role of a connector, and invokes EVT_UCM_CONNECTOR_SET_DATA_ROLE. In response to that call, the client should perform the DR_Swap operation, and indicate success/failure of the operation by calling UcmConnectorDataDirectionChanged.
Alternatively, the client driver might choose to perform a role-swap autonomously, or the partner might perform a role-swap. In either case, when the role-swap has completed, the driver must report the new role to UcmCx using UcmConnectorDataDirectionChanged.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Windows |
Minimum KMDF version | 1.15 |
Minimum UMDF version | 2.15 |
Header | ucmmanager.h (include Ucmcx.h) |
Library | UcmCxstub.lib |
IRQL | PASSIVE_LEVEL |