he User Space Helper allows easy integration of drivers build based on the Abstract Virtual Disk Drive into user level (Win 32) programs.

{code}
#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);
{code}