| 1 | # Referenced |
| 2 | |
| 3 | - `Session::PullImageAsync(PullImageOptions)` forwards a struct whose C shape is `{ uri, progressCallback, progressCallbackContext, registryAuth }`. |
| 4 | - `Session::PushImageAsync(PushImageOptions)` forwards a struct whose C shape is `{ image, registryAuth, progressCallback, progressCallbackContext }`. |
| 5 | - `Session::TagImage(TagImageOptions)` forwards a struct whose C shape is `{ image, repo, tag }`. |
| 6 | - `Session::CreateVhdVolume(VhdOptions)` and `SessionSettings::VhdRequirements(VhdOptions)` use `VhdOptions` properties `Name`, `Size`, `Type`, and `Owner`. |
| 7 | - `WslcService::GetVersion()` returns a `ServiceVersion` created from C `major`, `minor`, and `revision` values. |
| 8 | |
| 9 | |
| 10 | |
| 11 | ```cpp |
| 12 | PullImageOptions pullOptions = /* construct using the wrapper available in your build */; |
| 13 | auto pull = session.PullImageAsync(pullOptions); |
| 14 | pull.Progress([](auto&&, ImageProgress const& p) { /* ... */ }); |
| 15 | co_await pull; |
| 16 | |
| 17 | PushImageOptions pushOptions = /* construct using the wrapper available in your build */; |
| 18 | co_await session.PushImageAsync(pushOptions); |
| 19 | |
| 20 | TagImageOptions tagOptions = /* construct using the wrapper available in your build */; |
| 21 | session.TagImage(tagOptions); |
| 22 | |
| 23 | VhdOptions vhdOptions = /* construct using the wrapper available in your build */; |
| 24 | session.CreateVhdVolume(vhdOptions); |
| 25 | |
| 26 | auto version = WslcService::GetVersion(); |
| 27 | (void)version; |
| 28 | ``` |
| 29 | |
| 30 | --- |