The sample program is the same for Windows as for Linux, with #ifdef blocks for Win32. What to read next Include FilesWindows dynamic link library (DLL) declarations are in process.h, while Linux shared object (.so) declarations are in dlfcn.h. Windows offers the tchar.h extension for Unicode generic text mappings, not readily available in Linux. Definitions and StructuresThe sample program uses twelve bitwise shift operations (1 << 11) to track its available commands and the multithread option. The Virtual Disk API has about 30 library functions, some for initialization and cleanup. The following library functions are not demonstrated in the sample program: Dynamic LoadingThe #ifdef DYNAMIC_LOADING block is long, starting on line 97 and ending at line 339. This block contains function definitions for dynamic loading. It also contains the LoadOneFunc() procedure to obtain any requested function from the dynamic library and the DynLoadDiskLib() procedure to bind it. This demonstration feature could also be called “runtime loading” to distinguish it from dynamic linking. Wrapper ClassesBelow the dynamic loading block are two wrapper classes, one for error codes and descriptive text, and the other for the connection handle to disk. Command Functions SSL Certificate ThumbprintThe sample program in the VDDK 5.1 release added the -thumb option to allow an SSL certificate thumbprint to be provided and used. The thumbprint is used for authentication through vCenter Server. Parent topic: Virtual Disk API Sample Code