IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ucmtcpciportcontrollerrequests.h

// CTL_CODE(0x0058, 0x000, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS 0x00584000
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ni-ucmtcpciportcontrollerrequests-ioctl_ucmtcpci_port_controller_get_status)

IOCTL_UCMTCPCI_PORT_CONTROLLER_GET_STATUS IOCTL

Description

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.

Parameters

Major code

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.

Input/output buffer

Input/output buffer length

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.

See also

Creating IOCTL Requests in Drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously