he User Space Helper allows easy integration of drivers build based on the Abstract Virtual Disk Drive into user level (Win 32) programs.
#include "abstractvd_user.h" typedef enum { AVD_CLOSE_KEEP, // Close device handle, but keep device AVD_CLOSE_UNMOUNT, // Unmount and destroy drive } AVD_CLOSE_CONTROL; AVD_RET AVD_LINK AvdDeviceCreate (AVD_USER_HANDLE *UserHandle, const char *DriverName, const char *DeviceName, const char *Parameter); AVD_RET AVD_LINK AvdDeviceMount (AVD_USER_HANDLE UserHandle); AVD_RET AVD_LINK AvdDeviceOpen (AVD_USER_HANDLE *UserHandle, const char *DeviceName); AVD_RET AVD_LINK AvdDeviceClose (AVD_USER_HANDLE UserHandle, AVD_CLOSE_CONTROL CloseControl); AVD_RET AVD_LINK AvdDriverUnload (const char *DriverName); AVD_RET AVD_LINK AvdUserCommandInvoke (AVD_USER_HANDLE UserHandle, void *Request, size_t Length, void *Response, size_t MaxResponseLength, size_t *ActualResponseLen); AVD_RET AVD_LINK AvdCommandWait (AVD_USER_HANDLE UserHandle, void **CommandContext, void *Command, size_t MaxCommandLength, size_t *ActualCommandLength); AVD_RET AVD_LINK AvdCommandComplete (AVD_USER_HANDLE UserHandle, void *CommandContext, void *Response, size_t ResponseLength);