virtdisk-rs 2.0.0

Rust abstractions for VirtDisk APIs.
# virtdisk-rs

Rust wrapper of VirtDisk APIs

## Overview


This project is a collection of Rust libraries that wrap functionality exposed by [VirtDisk](https://docs.microsoft.com/en-us/windows/desktop/api/virtdisk/).

VirtDisk APIs are part of the [Windows 10 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk).

**NOTE:This crate is untested and simply provides safe Rust abstractions to the virtdisk C bindings. Fixes might come at later updates to the crate. There is no plan for now to create a fully suited integration test for the APIs.**

## Requirements


For this wrapper to build properly, the following requirements need to be met by the building machine:

- Windows 10 SDK version **10.0.18362.0**.
- **amd64** architecture.
  - This Rust wrapper, for now, expects to build only in amd64.

## Wrapped Windows 10 SDK APIs


**_Note: This section includes the paths in the Windows SDK for the header and lib files based on the default installation path `c:\Program Files (x86)\Windows Kits\10`._**

The relevant Windows 10 SDK files that this project is wrapping are:
- C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\virtdisk.h
- C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64\virtdisk.lib
- C:\Windows\System32\virtdisk.dll

## How to use locally


Clone the repo to a folder:

```
git clone https://github.com/rafawo/virtdisk-rs.git
```

Make sure the machine where you are building has Windows 10 SDK version **10.0.17763.132** installed. Then run:

```
cd virtdisk-rs
cargo build
```

Finally, open documentation by running:
```
cargo doc --open
```

## Crates.io version notes


This section briefly describes all published crates.io [versions](https://crates.io/crates/virtdisk-rs/versions) of this project, ordered from latest to oldest.

- [**2.0.0 Jul 31, 2019**]https://crates.io/crates/virtdisk-rs/2.0.0
  - Updated hardcoded dependency to Windows 10 SDK version 10.0.18362.0
  - Subtle dependencies to Windows RS5
- [**1.5.0 Jan 4, 2019**]https://crates.io/crates/virtdisk-rs/1.5.0
  - Oldest stable version
  - Containers VHD and Disk utilities to aid container storage setup
  - API is tentatively finalized for this crate
  - Hardcoded dependency to Windows 10 SDK version 10.0.17763.0
  - Implementation has subtle dependencies to Windows RS4
- [**1.4.0 Jan 3, 2019**]https://crates.io/crates/virtdisk-rs/1.4.0
  - **YANKED, DO NOT USE**
- [**1.3.0 Jan 3, 2019**]https://crates.io/crates/virtdisk-rs/1.3.0
  - **YANKED, DO NOT USE**
- [**1.2.0 Jan 3, 2019**]https://crates.io/crates/virtdisk-rs/1.2.0
  - **YANKED, DO NOT USE**
- [**1.1.1 Jan 2, 2019**]https://crates.io/crates/virtdisk-rs/1.1.1
  - **YANKED, DO NOT USE**
- [**1.1.0 Jan 2, 2019**]https://crates.io/crates/virtdisk-rs/1.1.0
  - **YANKED, DO NOT USE**
- [**1.0.1 Dec 31, 2018**]https://crates.io/crates/virtdisk-rs/1.0.1
  - **YANKED, DO NOT USE**
- [**1.0.0 Dec 28, 2018**]https://crates.io/crates/virtdisk-rs/1.0.0
  - **YANKED, DO NOT USE**
- [**0.1.2 Dec 20, 2018**]https://crates.io/crates/virtdisk-rs/0.1.2
  - **YANKED, DO NOT USE**
- [**0.1.1 Dec 20, 2018**]https://crates.io/crates/virtdisk-rs/0.1.1
  - **YANKED, DO NOT USE**
- [**0.1.0 Dec 19, 2018**]https://crates.io/crates/virtdisk-rs/0.1.0
  - **YANKED, DO NOT USE**