diff options
| author | Barry Golden <[email protected]> | 2019-09-30 10:40:48 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-09-30 10:40:48 -0700 |
| commit | 85e09b9be0b4359d46d3fdf196b4a39e74060920 (patch) | |
| tree | c0d6a9f68787fa8b2d991fe7ee91507e12547339 /usb/UcmUcsiAcpiSample | |
| parent | f7eb738097908a1e32ca2a07a605bba0e85ccb95 (diff) | |
Diffstat (limited to 'usb/UcmUcsiAcpiSample')
| -rw-r--r-- | usb/UcmUcsiAcpiSample/README.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usb/UcmUcsiAcpiSample/README.md b/usb/UcmUcsiAcpiSample/README.md index 9def12cd..e30e1638 100644 --- a/usb/UcmUcsiAcpiSample/README.md +++ b/usb/UcmUcsiAcpiSample/README.md @@ -19,8 +19,11 @@ Microsoft already provides an inbox UCSI Class extension (UcmUcsiCx.sys) and ACP This sample demonstrates the following: - Preparing connector collection with UcmUcsiCx + - Initializing Platform Policy Manager (or PPM) object with UcmUcsiCx + - Handling IOCTLs from UcmUcsiCx to send or get UCSI block + - Delivering PPM notifications to UcmUcsiCx ## Customizing the sample for your UCSI transport @@ -36,8 +39,11 @@ In this sample, UCMUCSI-specific interactions are split apart from most of the U The following files contain methods that interface with UcmUcsiCx. - Ppm.cpp + - Contains bulk of interactions with UcmUcsiCx. Ppm::CreateAndInitialize which is called in the context of PrepareHardware PnP callback, creates connector collection with UcmUcsiCx by calling DDI UcmUcsiConnectorCollectionCreate and UcmUcsiConnectorCollectionAddConnector. The collection serves as a parameter to initialize PPM object with the class extension when the DDI UcmUcsiPpmCreate is called. Ppm::PpmNotificationCallback function calls DDI on the event of a PPM notification. Ppm::EvtIoDeviceControl contains the logic of handling IOCTLs from UcmUcsiCx. + - Fdo.cpp + - FDO callbacks, functions, and types, most of which do not interface with UcmUcsiCx. However, the method Fdo::CreateAndInitialize calls to UcmUcsiCx DDIs UcmUcsiDeviceInitInitialize and UcmUcsiDeviceInitialize. #### UCSI and WDF Interactions @@ -45,10 +51,15 @@ The following files contain methods that interface with UcmUcsiCx. The remainder of the files perform operations for UCSI and WDF, non-specific to UCM. - Acpi.cpp + - ACPI method evaluation helper routines. + - Driver.cpp + - Entry point to the driver. Initializes the driver with WDF. + - Ppm.cpp + - Type-C Platform Policy Manager. Main interface to talk to the UCSI-compliant hardware (via ACPI transport in this case). ## When to write a UcmUcsiCx client driver |
