IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS IOCTL (ucmtcpciportcontrollerrequests.h)

Gets values of all status registers as per the Universal Serial Bus Type-C Port Controller Interface Specification. The client driver must retrieve the values of the CC_STATUS, POWER_STATUS, and FAULT_STATUS registers.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

A pointer to a UCMTCPCI_PORT_CONTROLLER_GET_STATUS_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_STATUS_IN_PARAMS structure.

Output buffer

A pointer to the UCMTCPCI_PORT_CONTROLLER_GET_STATUS_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_STATUS_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 status registers. The client driver must communicate with the port controller to retrieve the register values and populate the received UCMTCPCI_PORT_CONTROLLER_GET_STATUS_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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously