master
md 51 lines 1.16 KB
Rendered Raw
1 # WslcImportSessionImage
2
3 ```c
4 STDAPI WslcImportSessionImage(
5 _In_ WslcSession session,
6 _In_z_ PCSTR imageName,
7 _In_ HANDLE imageContent,
8 _In_ uint64_t imageContentBytes,
9 _In_opt_ const WslcImportImageOptions* options,
10 _Outptr_opt_result_z_ PWSTR* errorMessage);
11 ```
12
13 | Parameter | Type | Direction |
14 |---|---|---|
15 | `session` | `WslcSession` | in |
16 | `imageName` | `PCSTR` | in |
17 | `imageContent` | `HANDLE` | in |
18 | `imageContentBytes` | `uint64_t` | in |
19 | `options` | `const WslcImportImageOptions*` | in, optional |
20 | `errorMessage` | `PWSTR*` | out, optional |
21
22 Return value: `HRESULT`.
23
24 Important: the header declares `imageContent` as `HANDLE`, not `void*`.
25
26 Example:
27
28 ```c
29 HANDLE imageContent = CreateFileW(
30 L"C:\\images\\demo-import.tar",
31 GENERIC_READ,
32 FILE_SHARE_READ,
33 NULL,
34 OPEN_EXISTING,
35 FILE_ATTRIBUTE_NORMAL,
36 NULL);
37
38 LARGE_INTEGER size = { 0 };
39 GetFileSizeEx(imageContent, &size);
40
41 WslcImportImageOptions importOptions = { 0 };
42 HRESULT hr = WslcImportSessionImage(
43 session,
44 "demo/imported:latest",
45 imageContent,
46 (uint64_t)size.QuadPart,
47 &importOptions,
48 NULL);
49
50 CloseHandle(imageContent);
51 ```