IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_CONTROL IOCTL (ucmtcpciportcontrollerrequests.h)
Gets the values of all control registers defined as per the Universal Serial Bus Type-C Port Controller Interface Specification.
Major code
Input buffer
A pointer to a UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS structure that contains all control register values. To get the structure, call WdfRequestRetrieveInputBuffer by passing the received framework request object.
Input buffer length
The size of the UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_IN_PARAMS structure.
Output buffer
A pointer to the UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS structure. To get the structure, call WdfRequestRetrieveOutputBuffer by passing the received framework request object.
Output buffer length
The size of the UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS structure.
Status block
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
Remarks
The UcmTcpciCx class extension sends this IOCTL request to retrieve the values of the control registers. The client driver must communicate with the port controller to retrieve the POWER_CONTROL, ROLE_CONTROL, TCPC_CONTROL, and FAULT_CONTROL Register values and populate the received UCMTCPCI_PORT_CONTROLLER_GET_CONTROL_OUT_PARAMS structure with those values. To complete the request, the driver must set the populated structure on the framework request object by calling WdfRequestSetInformation and then call WdfRequestComplete to complete the request.
Requirements
Requirement | Value |
---|---|
Header | ucmtcpciportcontrollerrequests.h |
See also
Creating IOCTL Requests in Drivers
WdfIoTargetSendInternalIoctlOthersSynchronously