Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

sti.h File Reference

#include <pshpack8.h>
#include <objbase.h>
#include <stireg.h>
#include <stierr.h>
#include <poppack.h>

Go to the source code of this file.

Classes

struct  _STI_DEV_CAPS
struct  _STI_DEVICE_INFORMATIONW
struct  _STI_DEVICE_INFORMATIONA
struct  _STI_DEVICE_STATUS
struct  _ERROR_INFOW
struct  _ERROR_INFOA
struct  _STI_DIAG
struct  _STISUBSCRIBE
struct  _STINOTIFY

Defines

#define STI_UNICODE   1
#define DLLEXP   __declspec( dllexport )
#define STI_VERSION   0x00000002
#define STI_VERSION_MIN_ALLOWED   0x00000002
#define GET_STIVER_MAJOR(dwVersion)   HIWORD(dwVersion)
#define GET_STIVER_MINOR(dwVersion)   LOWORD(dwVersion)
#define STI_MAX_INTERNAL_NAME_LENGTH   128
#define GET_STIDEVICE_TYPE(dwDevType)   HIWORD(dwDevType)
#define GET_STIDEVICE_SUBTYPE(dwDevType)   LOWORD(dwDevType)
#define STI_GENCAP_NOTIFICATIONS   0x00000001
#define STI_GENCAP_POLLING_NEEDED   0x00000002
#define STI_HW_CONFIG_UNKNOWN   0x0001
#define STI_HW_CONFIG_SCSI   0x0002
#define STI_HW_CONFIG_USB   0x0004
#define STI_HW_CONFIG_SERIAL   0x0008
#define STI_HW_CONFIG_PARALLEL   0x0010
#define STI_DEVSTATUS_ONLINE_STATE   0x0001
#define STI_DEVSTATUS_EVENTS_STATE   0x0002
#define STI_ONLINESTATE_OPERATIONAL   0x00000001
#define STI_ONLINESTATE_PENDING   0x00000002
#define STI_ONLINESTATE_ERROR   0x00000004
#define STI_ONLINESTATE_PAUSED   0x00000008
#define STI_ONLINESTATE_PAPER_JAM   0x00000010
#define STI_ONLINESTATE_PAPER_PROBLEM   0x00000020
#define STI_ONLINESTATE_OFFLINE   0x00000040
#define STI_ONLINESTATE_IO_ACTIVE   0x00000080
#define STI_ONLINESTATE_BUSY   0x00000100
#define STI_ONLINESTATE_TRANSFERRING   0x00000200
#define STI_ONLINESTATE_INITIALIZING   0x00000400
#define STI_ONLINESTATE_WARMING_UP   0x00000800
#define STI_ONLINESTATE_USER_INTERVENTION   0x00001000
#define STI_ONLINESTATE_POWER_SAVE   0x00002000
#define STI_EVENTHANDLING_ENABLED   0x00000001
#define STI_EVENTHANDLING_POLLING   0x00000002
#define STI_EVENTHANDLING_PENDING   0x00000004
#define STI_DIAGCODE_HWPRESENCE   0x00000001
#define STI_TRACE_INFORMATION   0x00000001
#define STI_TRACE_WARNING   0x00000002
#define STI_TRACE_ERROR   0x00000004
#define STI_SUBSCRIBE_FLAG_WINDOW   0x0001
#define STI_SUBSCRIBE_FLAG_EVENT   0x0002
#define MAX_NOTIFICATION_DATA   64
#define STI_ADD_DEVICE_BROADCAST_ACTION   "Arrival"
#define STI_REMOVE_DEVICE_BROADCAST_ACTION   "Removal"
#define STI_ADD_DEVICE_BROADCAST_STRING   "STI\\" STI_ADD_DEVICE_BROADCAST_ACTION "\\%s"
#define STI_REMOVE_DEVICE_BROADCAST_STRING   "STI\\" STI_REMOVE_DEVICE_BROADCAST_ACTION "\\%s"
#define STI_DEVICE_CREATE_STATUS   0x00000001
#define STI_DEVICE_CREATE_DATA   0x00000002
#define STI_DEVICE_CREATE_BOTH   0x00000003
#define STI_DEVICE_CREATE_MASK   0x0000FFFF
#define STIEDFL_ALLDEVICES   0x00000000
#define STIEDFL_ATTACHEDONLY   0x00000001
#define STI_RAW_RESERVED   0x1000
#define IID_IStillImage   IID_IStillImageW
#define IStillImage   IStillImageW
#define StiCreateInstance   StiCreateInstanceW
#define INTERFACE   IStillImageW
#define INTERFACE   IStillImageA
#define IStillImageVtbl   IStillImageWVtbl
#define IStillImage_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
#define IStillImage_AddRef(p)   (p)->lpVtbl->AddRef(p)
#define IStillImage_Release(p)   (p)->lpVtbl->Release(p)
#define IStillImage_Initialize(p, a, b)   (p)->lpVtbl->Initialize(p,a,b)
#define IStillImage_GetDeviceList(p, a, b, c, d)   (p)->lpVtbl->GetDeviceList(p,a,b,c,d)
#define IStillImage_GetDeviceInfo(p, a, b)   (p)->lpVtbl->GetDeviceInfo(p,a,b)
#define IStillImage_CreateDevice(p, a, b, c, d)   (p)->lpVtbl->CreateDevice(p,a,b,c,d)
#define IStillImage_GetDeviceValue(p, a, b, c, d, e)   (p)->lpVtbl->GetDeviceValue(p,a,b,c,d,e)
#define IStillImage_SetDeviceValue(p, a, b, c, d, e)   (p)->lpVtbl->SetDeviceValue(p,a,b,c,d,e)
#define IStillImage_GetSTILaunchInformation(p, a, b, c)   (p)->lpVtbl->GetSTILaunchInformation(p,a,b,c)
#define IStillImage_RegisterLaunchApplication(p, a, b)   (p)->lpVtbl->RegisterLaunchApplication(p,a,b)
#define IStillImage_UnregisterLaunchApplication(p, a)   (p)->lpVtbl->UnregisterLaunchApplication(p,a)
#define IStillImage_EnableHwNotifications(p, a, b)   (p)->lpVtbl->EnableHwNotifications(p,a,b)
#define IStillImage_GetHwNotificationState(p, a, b)   (p)->lpVtbl->GetHwNotificationState(p,a,b)
#define IStillImage_RefreshDeviceBus(p, a)   (p)->lpVtbl->RefreshDeviceBus(p,a)
#define INTERFACE   IStiDevice
#define IStiDevice_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
#define IStiDevice_AddRef(p)   (p)->lpVtbl->AddRef(p)
#define IStiDevice_Release(p)   (p)->lpVtbl->Release(p)
#define IStiDevice_Initialize(p, a, b, c, d)   (p)->lpVtbl->Initialize(p,a,b,c,d)
#define IStiDevice_GetCapabilities(p, a)   (p)->lpVtbl->GetCapabilities(p,a)
#define IStiDevice_GetStatus(p, a)   (p)->lpVtbl->GetStatus(p,a)
#define IStiDevice_DeviceReset(p)   (p)->lpVtbl->DeviceReset(p)
#define IStiDevice_LockDevice(p, a)   (p)->lpVtbl->LockDevice(p,a)
#define IStiDevice_UnLockDevice(p)   (p)->lpVtbl->LockDevice(p)
#define IStiDevice_Diagnostic(p, a)   (p)->lpVtbl->Diagnostic(p,a)
#define IStiDevice_Escape(p, a, b, c, d, e, f)   (p)->lpVtbl->Escape(p,a,b,c,d,e,f)
#define IStiDevice_GetLastError(p, a)   (p)->lpVtbl->GetLastError(p,a)
#define IStiDevice_RawReadData(p, a, b, c)   (p)->lpVtbl->RawReadData(p,a,b,c)
#define IStiDevice_RawWriteData(p, a, b, c)   (p)->lpVtbl->RawWriteData(p,a,b,c)
#define IStiDevice_RawReadCommand(p, a, b, c)   (p)->lpVtbl->RawReadCommand(p,a,b,c)
#define IStiDevice_RawWriteCommand(p, a, b, c)   (p)->lpVtbl->RawWriteCommand(p,a,b,c)
#define IStiDevice_Subscribe(p, a)   (p)->lpVtbl->Subscribe(p,a)
#define IStiDevice_GetNotificationData(p, a)   (p)->lpVtbl->GetNotificationData(p,a)
#define IStiDevice_UnSubscribe(p)   (p)->lpVtbl->UnSubscribe(p)
#define IStiDevice_GetLastErrorInfo(p, a)   (p)->lpVtbl->GetLastErrorInfo(p,a)

Typedefs

typedef enum _STI_DEVICE_MJ_TYPE STI_DEVICE_MJ_TYPE
typedef DWORD STI_DEVICE_TYPE
typedef _STI_DEV_CAPS STI_DEV_CAPS
typedef _STI_DEV_CAPSPSTI_DEV_CAPS
typedef _STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATIONW
typedef _STI_DEVICE_INFORMATIONWPSTI_DEVICE_INFORMATIONW
typedef _STI_DEVICE_INFORMATIONA STI_DEVICE_INFORMATIONA
typedef _STI_DEVICE_INFORMATIONAPSTI_DEVICE_INFORMATIONA
typedef STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATION
typedef PSTI_DEVICE_INFORMATIONW PSTI_DEVICE_INFORMATION
typedef _STI_DEVICE_STATUS STI_DEVICE_STATUS
typedef _STI_DEVICE_STATUSPSTI_DEVICE_STATUS
typedef _ERROR_INFOW STI_ERROR_INFOW
typedef _ERROR_INFOWPSTI_ERROR_INFOW
typedef _ERROR_INFOA STI_ERROR_INFOA
typedef _ERROR_INFOAPSTI_ERROR_INFOA
typedef STI_ERROR_INFOW STI_ERROR_INFO
typedef STI_ERROR_INFOPSTI_ERROR_INFO
typedef _STI_DIAG STI_DIAG
typedef _STI_DIAGLPSTI_DIAG
typedef STI_DIAG DIAG
typedef LPSTI_DIAG LPDIAG
typedef _STISUBSCRIBE STISUBSCRIBE
typedef _STISUBSCRIBELPSTISUBSCRIBE
typedef _STINOTIFY STINOTIFY
typedef _STINOTIFYLPSTINOTIFY
typedef DWORD STI_RAW_CONTROL_CODE
typedef interface IStiDevice * LPSTILLIMAGEDEVICE
typedef interface IStillImage * PSTI
typedef interface IStiDevice * PSTIDEVICE
typedef interface IStillImageA * PSTIA
typedef interface IStiDeviceA * PSTIDEVICEA
typedef interface IStillImageW * PSTIW
typedef interface IStiDeviceW * PSTIDEVICEW
typedef IStillImageW * LPSTILLIMAGEW
typedef IStillImageA * LPSTILLIMAGEA
typedef IStillImage * LPSTILLIMAGE

Enumerations

enum  _STI_DEVICE_MJ_TYPE { StiDeviceTypeDefault = 0, StiDeviceTypeScanner = 1, StiDeviceTypeDigitalCamera = 2 }

Functions

DLLEXP STDMETHODIMP StiCreateInstanceW (HINSTANCE hinst, DWORD dwVer, interface IStillImageW **ppSti, LPUNKNOWN punkOuter)
DLLEXP STDMETHODIMP StiCreateInstanceA (HINSTANCE hinst, DWORD dwVer, interface IStillImageA **ppSti, LPUNKNOWN punkOuter)
 DECLARE_INTERFACE_ (IStillImageW, IUnknown)
 DECLARE_INTERFACE_ (IStillImageA, IUnknown)
 DECLARE_INTERFACE_ (IStiDevice, IUnknown)


Define Documentation

#define DLLEXP   __declspec( dllexport )
 

Definition at line 46 of file sti.h.

#define GET_STIDEVICE_SUBTYPE dwDevType   )     LOWORD(dwDevType)
 

Definition at line 120 of file sti.h.

#define GET_STIDEVICE_TYPE dwDevType   )     HIWORD(dwDevType)
 

Definition at line 119 of file sti.h.

#define GET_STIVER_MAJOR dwVersion   )     HIWORD(dwVersion)
 

Definition at line 83 of file sti.h.

#define GET_STIVER_MINOR dwVersion   )     LOWORD(dwVersion)
 

Definition at line 84 of file sti.h.

#define IID_IStillImage   IID_IStillImageW
 

Definition at line 530 of file sti.h.

#define INTERFACE   IStiDevice
 

Definition at line 749 of file sti.h.

#define INTERFACE   IStillImageA
 

Definition at line 749 of file sti.h.

#define INTERFACE   IStillImageW
 

Definition at line 749 of file sti.h.

#define IStiDevice_AddRef  )     (p)->lpVtbl->AddRef(p)
 

Definition at line 793 of file sti.h.

#define IStiDevice_DeviceReset  )     (p)->lpVtbl->DeviceReset(p)
 

Definition at line 799 of file sti.h.

#define IStiDevice_Diagnostic p,
 )     (p)->lpVtbl->Diagnostic(p,a)
 

Definition at line 803 of file sti.h.

#define IStiDevice_Escape p,
a,
b,
c,
d,
e,
 )     (p)->lpVtbl->Escape(p,a,b,c,d,e,f)
 

Definition at line 804 of file sti.h.

#define IStiDevice_GetCapabilities p,
 )     (p)->lpVtbl->GetCapabilities(p,a)
 

Definition at line 797 of file sti.h.

#define IStiDevice_GetLastError p,
 )     (p)->lpVtbl->GetLastError(p,a)
 

Definition at line 805 of file sti.h.

#define IStiDevice_GetLastErrorInfo p,
 )     (p)->lpVtbl->GetLastErrorInfo(p,a)
 

Definition at line 815 of file sti.h.

#define IStiDevice_GetNotificationData p,
 )     (p)->lpVtbl->GetNotificationData(p,a)
 

Definition at line 812 of file sti.h.

#define IStiDevice_GetStatus p,
 )     (p)->lpVtbl->GetStatus(p,a)
 

Definition at line 798 of file sti.h.

#define IStiDevice_Initialize p,
a,
b,
c,
 )     (p)->lpVtbl->Initialize(p,a,b,c,d)
 

Definition at line 795 of file sti.h.

#define IStiDevice_LockDevice p,
 )     (p)->lpVtbl->LockDevice(p,a)
 

Definition at line 800 of file sti.h.

#define IStiDevice_QueryInterface p,
a,
 )     (p)->lpVtbl->QueryInterface(p,a,b)
 

Definition at line 792 of file sti.h.

#define IStiDevice_RawReadCommand p,
a,
b,
c   )     (p)->lpVtbl->RawReadCommand(p,a,b,c)
 

Definition at line 808 of file sti.h.

#define IStiDevice_RawReadData p,
a,
b,
c   )     (p)->lpVtbl->RawReadData(p,a,b,c)
 

Definition at line 806 of file sti.h.

#define IStiDevice_RawWriteCommand p,
a,
b,
c   )     (p)->lpVtbl->RawWriteCommand(p,a,b,c)
 

Definition at line 809 of file sti.h.

#define IStiDevice_RawWriteData p,
a,
b,
c   )     (p)->lpVtbl->RawWriteData(p,a,b,c)
 

Definition at line 807 of file sti.h.

#define IStiDevice_Release  )     (p)->lpVtbl->Release(p)
 

Definition at line 794 of file sti.h.

#define IStiDevice_Subscribe p,
 )     (p)->lpVtbl->Subscribe(p,a)
 

Definition at line 811 of file sti.h.

#define IStiDevice_UnLockDevice  )     (p)->lpVtbl->LockDevice(p)
 

Definition at line 801 of file sti.h.

#define IStiDevice_UnSubscribe  )     (p)->lpVtbl->UnSubscribe(p)
 

Definition at line 813 of file sti.h.

#define IStillImage   IStillImageW
 

Definition at line 531 of file sti.h.

#define IStillImage_AddRef  )     (p)->lpVtbl->AddRef(p)
 

Definition at line 724 of file sti.h.

#define IStillImage_CreateDevice p,
a,
b,
c,
 )     (p)->lpVtbl->CreateDevice(p,a,b,c,d)
 

Definition at line 730 of file sti.h.

#define IStillImage_EnableHwNotifications p,
a,
 )     (p)->lpVtbl->EnableHwNotifications(p,a,b)
 

Definition at line 736 of file sti.h.

#define IStillImage_GetDeviceInfo p,
a,
 )     (p)->lpVtbl->GetDeviceInfo(p,a,b)
 

Definition at line 729 of file sti.h.

#define IStillImage_GetDeviceList p,
a,
b,
c,
 )     (p)->lpVtbl->GetDeviceList(p,a,b,c,d)
 

Definition at line 728 of file sti.h.

#define IStillImage_GetDeviceValue p,
a,
b,
c,
d,
 )     (p)->lpVtbl->GetDeviceValue(p,a,b,c,d,e)
 

Definition at line 731 of file sti.h.

#define IStillImage_GetHwNotificationState p,
a,
 )     (p)->lpVtbl->GetHwNotificationState(p,a,b)
 

Definition at line 737 of file sti.h.

#define IStillImage_GetSTILaunchInformation p,
a,
b,
c   )     (p)->lpVtbl->GetSTILaunchInformation(p,a,b,c)
 

Definition at line 733 of file sti.h.

#define IStillImage_Initialize p,
a,
 )     (p)->lpVtbl->Initialize(p,a,b)
 

Definition at line 726 of file sti.h.

#define IStillImage_QueryInterface p,
a,
 )     (p)->lpVtbl->QueryInterface(p,a,b)
 

Definition at line 723 of file sti.h.

#define IStillImage_RefreshDeviceBus p,
 )     (p)->lpVtbl->RefreshDeviceBus(p,a)
 

Definition at line 738 of file sti.h.

#define IStillImage_RegisterLaunchApplication p,
a,
 )     (p)->lpVtbl->RegisterLaunchApplication(p,a,b)
 

Definition at line 734 of file sti.h.

#define IStillImage_Release  )     (p)->lpVtbl->Release(p)
 

Definition at line 725 of file sti.h.

#define IStillImage_SetDeviceValue p,
a,
b,
c,
d,
 )     (p)->lpVtbl->SetDeviceValue(p,a,b,c,d,e)
 

Definition at line 732 of file sti.h.

#define IStillImage_UnregisterLaunchApplication p,
 )     (p)->lpVtbl->UnregisterLaunchApplication(p,a)
 

Definition at line 735 of file sti.h.

#define IStillImageVtbl   IStillImageWVtbl
 

Definition at line 715 of file sti.h.

#define MAX_NOTIFICATION_DATA   64
 

Definition at line 434 of file sti.h.

#define STI_ADD_DEVICE_BROADCAST_ACTION   "Arrival"
 

Definition at line 467 of file sti.h.

#define STI_ADD_DEVICE_BROADCAST_STRING   "STI\\" STI_ADD_DEVICE_BROADCAST_ACTION "\\%s"
 

Definition at line 470 of file sti.h.

#define STI_DEVICE_CREATE_BOTH   0x00000003
 

Definition at line 487 of file sti.h.

#define STI_DEVICE_CREATE_DATA   0x00000002
 

Definition at line 485 of file sti.h.

#define STI_DEVICE_CREATE_MASK   0x0000FFFF
 

Definition at line 492 of file sti.h.

#define STI_DEVICE_CREATE_STATUS   0x00000001
 

Definition at line 482 of file sti.h.

#define STI_DEVSTATUS_EVENTS_STATE   0x0002
 

Definition at line 256 of file sti.h.

#define STI_DEVSTATUS_ONLINE_STATE   0x0001
 

Definition at line 253 of file sti.h.

#define STI_DIAGCODE_HWPRESENCE   0x00000001
 

Definition at line 316 of file sti.h.

#define STI_EVENTHANDLING_ENABLED   0x00000001
 

Definition at line 279 of file sti.h.

#define STI_EVENTHANDLING_PENDING   0x00000004
 

Definition at line 281 of file sti.h.

#define STI_EVENTHANDLING_POLLING   0x00000002
 

Definition at line 280 of file sti.h.

#define STI_GENCAP_NOTIFICATIONS   0x00000001
 

Definition at line 136 of file sti.h.

#define STI_GENCAP_POLLING_NEEDED   0x00000002
 

Definition at line 143 of file sti.h.

#define STI_HW_CONFIG_PARALLEL   0x0010
 

Definition at line 153 of file sti.h.

#define STI_HW_CONFIG_SCSI   0x0002
 

Definition at line 150 of file sti.h.

#define STI_HW_CONFIG_SERIAL   0x0008
 

Definition at line 152 of file sti.h.

#define STI_HW_CONFIG_UNKNOWN   0x0001
 

Definition at line 149 of file sti.h.

#define STI_HW_CONFIG_USB   0x0004
 

Definition at line 151 of file sti.h.

#define STI_MAX_INTERNAL_NAME_LENGTH   128
 

Definition at line 89 of file sti.h.

#define STI_ONLINESTATE_BUSY   0x00000100
 

Definition at line 269 of file sti.h.

#define STI_ONLINESTATE_ERROR   0x00000004
 

Definition at line 263 of file sti.h.

#define STI_ONLINESTATE_INITIALIZING   0x00000400
 

Definition at line 271 of file sti.h.

#define STI_ONLINESTATE_IO_ACTIVE   0x00000080
 

Definition at line 268 of file sti.h.

#define STI_ONLINESTATE_OFFLINE   0x00000040
 

Definition at line 267 of file sti.h.

#define STI_ONLINESTATE_OPERATIONAL   0x00000001
 

Definition at line 261 of file sti.h.

#define STI_ONLINESTATE_PAPER_JAM   0x00000010
 

Definition at line 265 of file sti.h.

#define STI_ONLINESTATE_PAPER_PROBLEM   0x00000020
 

Definition at line 266 of file sti.h.

#define STI_ONLINESTATE_PAUSED   0x00000008
 

Definition at line 264 of file sti.h.

#define STI_ONLINESTATE_PENDING   0x00000002
 

Definition at line 262 of file sti.h.

#define STI_ONLINESTATE_POWER_SAVE   0x00002000
 

Definition at line 274 of file sti.h.

#define STI_ONLINESTATE_TRANSFERRING   0x00000200
 

Definition at line 270 of file sti.h.

#define STI_ONLINESTATE_USER_INTERVENTION   0x00001000
 

Definition at line 273 of file sti.h.

#define STI_ONLINESTATE_WARMING_UP   0x00000800
 

Definition at line 272 of file sti.h.

#define STI_RAW_RESERVED   0x1000
 

Definition at line 508 of file sti.h.

#define STI_REMOVE_DEVICE_BROADCAST_ACTION   "Removal"
 

Definition at line 468 of file sti.h.

#define STI_REMOVE_DEVICE_BROADCAST_STRING   "STI\\" STI_REMOVE_DEVICE_BROADCAST_ACTION "\\%s"
 

Definition at line 471 of file sti.h.

#define STI_SUBSCRIBE_FLAG_EVENT   0x0002
 

Definition at line 410 of file sti.h.

#define STI_SUBSCRIBE_FLAG_WINDOW   0x0001
 

Definition at line 406 of file sti.h.

#define STI_TRACE_ERROR   0x00000004
 

Definition at line 390 of file sti.h.

#define STI_TRACE_INFORMATION   0x00000001
 

Definition at line 388 of file sti.h.

#define STI_TRACE_WARNING   0x00000002
 

Definition at line 389 of file sti.h.

#define STI_UNICODE   1
 

Definition at line 29 of file sti.h.

#define STI_VERSION   0x00000002
 

Definition at line 80 of file sti.h.

Referenced by CScannerList::Enumerate(), and OpenScanner().

#define STI_VERSION_MIN_ALLOWED   0x00000002
 

Definition at line 81 of file sti.h.

#define StiCreateInstance   StiCreateInstanceW
 

Definition at line 532 of file sti.h.

#define STIEDFL_ALLDEVICES   0x00000000
 

Definition at line 497 of file sti.h.

#define STIEDFL_ATTACHEDONLY   0x00000001
 

Definition at line 498 of file sti.h.


Typedef Documentation

typedef STI_DIAG DIAG
 

Definition at line 378 of file sti.h.

typedef LPSTI_DIAG LPDIAG
 

Definition at line 379 of file sti.h.

typedef struct _STI_DIAG* LPSTI_DIAG
 

Referenced by DECLARE_INTERFACE_().

typedef struct IStillImage* LPSTILLIMAGE
 

Definition at line 720 of file sti.h.

typedef struct IStillImageA* LPSTILLIMAGEA
 

Definition at line 712 of file sti.h.

typedef interface IStiDevice* LPSTILLIMAGEDEVICE
 

Definition at line 539 of file sti.h.

typedef struct IStillImageW* LPSTILLIMAGEW
 

Definition at line 634 of file sti.h.

typedef struct _STINOTIFY* LPSTINOTIFY
 

Referenced by DECLARE_INTERFACE_().

typedef struct _STISUBSCRIBE* LPSTISUBSCRIBE
 

Referenced by DECLARE_INTERFACE_().

typedef interface IStillImage* PSTI
 

Definition at line 541 of file sti.h.

Referenced by CScannerList::Enumerate().

typedef struct _STI_DEV_CAPS * PSTI_DEV_CAPS
 

Referenced by DECLARE_INTERFACE_().

typedef PSTI_DEVICE_INFORMATIONW PSTI_DEVICE_INFORMATION
 

Definition at line 226 of file sti.h.

Referenced by CScannerList::Enumerate().

typedef struct _STI_DEVICE_INFORMATIONA * PSTI_DEVICE_INFORMATIONA
 

typedef struct _STI_DEVICE_INFORMATIONW * PSTI_DEVICE_INFORMATIONW
 

Referenced by DECLARE_INTERFACE_().

typedef struct _STI_DEVICE_STATUS* PSTI_DEVICE_STATUS
 

Referenced by DECLARE_INTERFACE_().

typedef STI_ERROR_INFO* PSTI_ERROR_INFO
 

Definition at line 358 of file sti.h.

typedef struct _ERROR_INFOA* PSTI_ERROR_INFOA
 

typedef struct _ERROR_INFOW* PSTI_ERROR_INFOW
 

typedef interface IStillImageA* PSTIA
 

Definition at line 544 of file sti.h.

typedef interface IStiDevice* PSTIDEVICE
 

Definition at line 542 of file sti.h.

Referenced by DECLARE_INTERFACE_().

typedef interface IStiDeviceA* PSTIDEVICEA
 

Definition at line 545 of file sti.h.

typedef interface IStiDeviceW* PSTIDEVICEW
 

Definition at line 548 of file sti.h.

typedef interface IStillImageW* PSTIW
 

Definition at line 547 of file sti.h.

typedef struct _STI_DEV_CAPS STI_DEV_CAPS
 

typedef STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATION
 

Definition at line 225 of file sti.h.

typedef struct _STI_DEVICE_INFORMATIONA STI_DEVICE_INFORMATIONA
 

typedef struct _STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATIONW
 

typedef enum _STI_DEVICE_MJ_TYPE STI_DEVICE_MJ_TYPE
 

typedef struct _STI_DEVICE_STATUS STI_DEVICE_STATUS
 

typedef DWORD STI_DEVICE_TYPE
 

Definition at line 114 of file sti.h.

typedef struct _STI_DIAG STI_DIAG
 

typedef STI_ERROR_INFOW STI_ERROR_INFO
 

Definition at line 353 of file sti.h.

Referenced by DECLARE_INTERFACE_().

typedef struct _ERROR_INFOA STI_ERROR_INFOA
 

typedef struct _ERROR_INFOW STI_ERROR_INFOW
 

typedef DWORD STI_RAW_CONTROL_CODE
 

Definition at line 503 of file sti.h.

Referenced by DECLARE_INTERFACE_().

typedef struct _STINOTIFY STINOTIFY
 

typedef struct _STISUBSCRIBE STISUBSCRIBE
 


Enumeration Type Documentation

enum _STI_DEVICE_MJ_TYPE
 

Enumeration values:
StiDeviceTypeDefault 
StiDeviceTypeScanner 
StiDeviceTypeDigitalCamera 

Definition at line 108 of file sti.h.


Function Documentation

DECLARE_INTERFACE_ IStiDevice  ,
IUnknown 
 

Definition at line 750 of file sti.h.

References DWORD, LPSTI_DIAG, LPSTINOTIFY, LPSTISUBSCRIBE, LPVOID, PSTI_DEV_CAPS, PSTI_DEVICE_STATUS, STI_ERROR_INFO, and STI_RAW_CONTROL_CODE.

00751 { 00752 /*** IUnknown methods ***/ 00753 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; 00754 STDMETHOD_(ULONG, AddRef) (THIS) PURE; 00755 STDMETHOD_(ULONG, Release) (THIS) PURE; 00756 00757 /*** IStiDevice methods ***/ 00758 STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,LPCWSTR pwszDeviceName,DWORD dwVersion,DWORD dwMode) PURE; 00759 00760 STDMETHOD(GetCapabilities) (THIS_ PSTI_DEV_CAPS pDevCaps) PURE; 00761 00762 STDMETHOD(GetStatus) (THIS_ PSTI_DEVICE_STATUS pDevStatus) PURE; 00763 00764 STDMETHOD(DeviceReset)(THIS ) PURE; 00765 STDMETHOD(Diagnostic)(THIS_ LPSTI_DIAG pBuffer) PURE; 00766 00767 STDMETHOD(Escape)(THIS_ STI_RAW_CONTROL_CODE EscapeFunction,LPVOID lpInData,DWORD cbInDataSize,LPVOID pOutData,DWORD dwOutDataSize,LPDWORD pdwActualData) PURE ; 00768 00769 STDMETHOD(GetLastError) (THIS_ LPDWORD pdwLastDeviceError) PURE; 00770 00771 STDMETHOD(LockDevice) (THIS_ DWORD dwTimeOut) PURE; 00772 STDMETHOD(UnLockDevice) (THIS ) PURE; 00773 00774 STDMETHOD(RawReadData)(THIS_ LPVOID lpBuffer,LPDWORD lpdwNumberOfBytes,LPOVERLAPPED lpOverlapped) PURE; 00775 STDMETHOD(RawWriteData)(THIS_ LPVOID lpBuffer,DWORD nNumberOfBytes,LPOVERLAPPED lpOverlapped) PURE; 00776 00777 STDMETHOD(RawReadCommand)(THIS_ LPVOID lpBuffer,LPDWORD lpdwNumberOfBytes,LPOVERLAPPED lpOverlapped) PURE; 00778 STDMETHOD(RawWriteCommand)(THIS_ LPVOID lpBuffer,DWORD nNumberOfBytes,LPOVERLAPPED lpOverlapped) PURE; 00779 00780 // 00781 // Subscription is used to enable "control center" style applications , where flow of 00782 // notifications should be redirected from monitor itself to another "launcher" 00783 // 00784 STDMETHOD(Subscribe)(THIS_ LPSTISUBSCRIBE lpSubsribe) PURE; 00785 STDMETHOD(GetLastNotificationData)(THIS_ LPSTINOTIFY lpNotify) PURE; 00786 STDMETHOD(UnSubscribe)(THIS ) PURE; 00787 00788 STDMETHOD(GetLastErrorInfo) (THIS_ STI_ERROR_INFO *pLastErrorInfo) PURE; 00789 };

DECLARE_INTERFACE_ IStillImageA  ,
IUnknown 
 

Definition at line 638 of file sti.h.

00639 { 00640 /*** IUnknown methods ***/ 00641 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; 00642 STDMETHOD_(ULONG, AddRef) (THIS) PURE; 00643 STDMETHOD_(ULONG, Release) (THIS) PURE; 00644 00645 /*** IStillImage methods ***/ 00646 STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,DWORD dwVersion) PURE; 00647 00648 STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsReturned,LPVOID *ppBuffer) PURE; 00649 STDMETHOD(GetDeviceInfo)(THIS_ LPCSTR pwszDeviceName, LPVOID *ppBuffer) PURE; 00650 00651 STDMETHOD(CreateDevice) (THIS_ LPCSTR pwszDeviceName, DWORD dwMode, PSTIDEVICE *pDevice,LPUNKNOWN punkOuter) PURE; 00652 00653 // 00654 // Device instance values. Used to associate various data with device. 00655 // 00656 STDMETHOD(GetDeviceValue)(THIS_ LPCSTR pwszDeviceName,LPCSTR pValueName,LPDWORD pType,LPBYTE pData,LPDWORD cbData); 00657 STDMETHOD(SetDeviceValue)(THIS_ LPCSTR pwszDeviceName,LPCSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); 00658 00659 // 00660 // For appllication started through push model launch, returns associated information 00661 // 00662 STDMETHOD(GetSTILaunchInformation)(THIS_ LPCSTR pwszDeviceName, DWORD *pdwEventCode,LPSTR pwszEventName) PURE; 00663 STDMETHOD(RegisterLaunchApplication)(THIS_ LPCSTR pwszAppName,LPCSTR pwszCommandLine) PURE; 00664 STDMETHOD(UnregisterLaunchApplication)(THIS_ LPCSTR pwszAppName) PURE; 00665 00666 // 00667 // To control state of notification handling. For polled devices this means state of monitor 00668 // polling, for true notification devices means enabling/disabling notification flow 00669 // from monitor to registered applications 00670 // 00671 STDMETHOD(EnableHwNotifications)(THIS_ LPCSTR pwszDeviceName,BOOL bNewState) PURE; 00672 STDMETHOD(GetHwNotificationState)(THIS_ LPCSTR pwszDeviceName,BOOL *pbCurrentState) PURE; 00673 00674 // 00675 // When device is installed but not accessible, application may request bus refresh 00676 // which in some cases will make device known. This is mainly used for nonPnP buses 00677 // like SCSI, when device was powered on after PnP enumeration 00678 // 00679 // 00680 STDMETHOD(RefreshDeviceBus)(THIS_ LPCSTR pwszDeviceName) PURE; 00681 00682 // 00683 // Launch application to emulate event on a device. Used by "control center" style components, 00684 // which intercept device event , analyze and later force launch based on certain criteria. 00685 // 00686 STDMETHOD(LaunchApplicationForDevice)(THIS_ LPCSTR pwszDeviceName,LPCSTR pwszAppName,LPSTINOTIFY pStiNotify); 00687 00688 00689 // 00690 // For non-PnP devices with non-known bus type connection, setup extension, associated with the 00691 // device can set it's parameters 00692 // 00693 STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONA); 00694 00695 // 00696 // Write message to STI error log 00697 // 00698 STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType,LPCSTR pszMessage) PURE; 00699 00700 #ifdef NOT_IMPLEMENTED 00701 00702 // 00703 // TO register application for receiving various STI notifications 00704 // 00705 STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRIBE lpSubscribe) PURE; 00706 STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; 00707 00708 #endif //NOT_IMPLEMENTED 00709 00710 };

DECLARE_INTERFACE_ IStillImageW  ,
IUnknown 
 

Definition at line 561 of file sti.h.

References BOOL, dwFlags, DWORD, LPSTINOTIFY, LPVOID, PSTI_DEVICE_INFORMATIONW, PSTIDEVICE, RegisterDeviceNotification(), and UnregisterDeviceNotification().

00562 { 00563 /*** IUnknown methods ***/ 00564 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; 00565 STDMETHOD_(ULONG, AddRef) (THIS) PURE; 00566 STDMETHOD_(ULONG, Release) (THIS) PURE; 00567 00568 /*** IStillImage methods ***/ 00569 STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,DWORD dwVersion) PURE; 00570 00571 STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsReturned,LPVOID *ppBuffer) PURE; 00572 STDMETHOD(GetDeviceInfo)(THIS_ LPWSTR pwszDeviceName, LPVOID *ppBuffer) PURE; 00573 00574 STDMETHOD(CreateDevice) (THIS_ LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICE *pDevice,LPUNKNOWN punkOuter) PURE; 00575 00576 // 00577 // Device instance values. Used to associate various data with device. 00578 // 00579 STDMETHOD(GetDeviceValue)(THIS_ LPWSTR pwszDeviceName,LPWSTR pValueName,LPDWORD pType,LPBYTE pData,LPDWORD cbData); 00580 STDMETHOD(SetDeviceValue)(THIS_ LPWSTR pwszDeviceName,LPWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); 00581 00582 // 00583 // For appllication started through push model launch, returns associated information 00584 // 00585 STDMETHOD(GetSTILaunchInformation)(THIS_ LPWSTR pwszDeviceName, DWORD *pdwEventCode,LPWSTR pwszEventName) PURE; 00586 STDMETHOD(RegisterLaunchApplication)(THIS_ LPWSTR pwszAppName,LPWSTR pwszCommandLine) PURE; 00587 STDMETHOD(UnregisterLaunchApplication)(THIS_ LPWSTR pwszAppName) PURE; 00588 00589 // 00590 // To control state of notification handling. For polled devices this means state of monitor 00591 // polling, for true notification devices means enabling/disabling notification flow 00592 // from monitor to registered applications 00593 // 00594 STDMETHOD(EnableHwNotifications)(THIS_ LPCWSTR pwszDeviceName,BOOL bNewState) PURE; 00595 STDMETHOD(GetHwNotificationState)(THIS_ LPCWSTR pwszDeviceName,BOOL *pbCurrentState) PURE; 00596 00597 // 00598 // When device is installed but not accessible, application may request bus refresh 00599 // which in some cases will make device known. This is mainly used for nonPnP buses 00600 // like SCSI, when device was powered on after PnP enumeration 00601 // 00602 // 00603 STDMETHOD(RefreshDeviceBus)(THIS_ LPCWSTR pwszDeviceName) PURE; 00604 00605 // 00606 // Launch application to emulate event on a device. Used by "control center" style components, 00607 // which intercept device event , analyze and later force launch based on certain criteria. 00608 // 00609 STDMETHOD(LaunchApplicationForDevice)(THIS_ LPWSTR pwszDeviceName,LPWSTR pwszAppName,LPSTINOTIFY pStiNotify); 00610 00611 // 00612 // For non-PnP devices with non-known bus type connection, setup extension, associated with the 00613 // device can set it's parameters 00614 // 00615 STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONW); 00616 00617 // 00618 // Write message to STI error log 00619 // 00620 STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType,LPCWSTR pszMessage) PURE; 00621 00622 #ifdef NOT_IMPLEMENTED 00623 00624 // 00625 // TO register application for receiving various STI notifications 00626 // 00627 STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRIBE lpSubscribe) PURE; 00628 STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; 00629 00630 #endif //NOT_IMPLEMENTED 00631 00632 };

DLLEXP STDMETHODIMP StiCreateInstanceA HINSTANCE  hinst,
DWORD  dwVer,
interface IStillImageA **  ppSti,
LPUNKNOWN  punkOuter
 

DLLEXP STDMETHODIMP StiCreateInstanceW HINSTANCE  hinst,
DWORD  dwVer,
interface IStillImageW **  ppSti,
LPUNKNOWN  punkOuter
 


Generated on Sat May 15 19:45:40 2004 for test by doxygen 1.3.7