[ComImport, Guid(IIDGuid.IWiaDevMgr2)]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IWiaDevMgr2
{
[return: MarshalAs(UnmanagedType.Interface)]
object EnumDeviceInfo(
[In] int lFlag,
[Out, MarshalAs(UnmanagedType.Interface)] out object iIEnum);
void CreateDevice(
[In] int lFlags,
[In, MarshalAs(UnmanagedType.BStr)] string strDeviceId,
[Out, MarshalAs(UnmanagedType.Interface)] out IWiaItem iWiaItemRoot2);
[return: MarshalAs(UnmanagedType.Interface)]
object SelectDeviceDlg(
[In] IntPtr hwndParent,
[In] int lDeviceType,
[In] int lFlags,
[In, Out, MarshalAs(UnmanagedType.BStr)] ref string strDeviceID,
[Out, MarshalAs(UnmanagedType.Interface)] out IWiaItem iWiaItemRoot2);
[return: MarshalAs(UnmanagedType.BStr)]
string SelectDeviceDlgID(
[In] IntPtr hwndParent,
[In] int lDeviceType,
[In] int lFlags,
[Out, MarshalAs(UnmanagedType.BStr)] string strDeviceId);
void GetImageDlg(
[In] int lFlags,
[In, MarshalAs(UnmanagedType.BStr)] string strDeviceId,
[In] IntPtr hwndParent,
[In, MarshalAs(UnmanagedType.BStr)] string strFolderName,
[In, MarshalAs(UnmanagedType.BStr)] string strFileName,
[In] int lNumFiles,
[In, MarshalAs(UnmanagedType.BStr)] string strFName,
[Out, MarshalAs(UnmanagedType.Interface)] out object iItemRoot);
void RegisterEventCallbackProgram(
[In] int lFlags,
[In, MarshalAs(UnmanagedType.BStr)] string strDeviceId,
[In] ref Guid eventGuid,
[In, MarshalAs(UnmanagedType.BStr)] string strFullAppName,
[In, MarshalAs(UnmanagedType.BStr)] string strCommandline,
[In, MarshalAs(UnmanagedType.BStr)] string strName,
[In, MarshalAs(UnmanagedType.BStr)] string strDescription,
[In, MarshalAs(UnmanagedType.BStr)] string strIcon);
void RegisterEventCallbackInterface(
[In] int lFlags,
[In, MarshalAs(UnmanagedType.BStr)] string strDeviceId,
[In] ref Guid eventGuid,
[In, MarshalAs(UnmanagedType.Interface)] object wiaEventCallbackInterface,
[Out, MarshalAs(UnmanagedType.IUnknown)] out object eventObjectIUnknown);
void RegisterEventCallbackCLSID(
[In] int lFlags,
[In, MarshalAs(UnmanagedType.BStr)] string strDeviceId,
[In] ref Guid eventGuid,
[In] ref Guid clsid,
[In, MarshalAs(UnmanagedType.BStr)] string strName,
[In, MarshalAs(UnmanagedType.BStr)] string strDescription,
[In, MarshalAs(UnmanagedType.BStr)] string strIcon);
}