Headers diff for sti.dll between 5.2.3790.3959-Windows 5.0 and 6.0.6001.18000-Windows 6.0 versions



 sti.h (5.2.3790.3959-Windows 5.0)   sti.h (6.0.6001.18000-Windows 6.0) 
skipping to change at line 67 skipping to change at line 67
// B323F8E0-2E68-11D0-90EA-00AA0060F86C // B323F8E0-2E68-11D0-90EA-00AA0060F86C
DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00 , 0x60, 0xF8, 0x6C); DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00 , 0x60, 0xF8, 0x6C);
/* /*
* Interface IID's * Interface IID's
*/ */
// {641BD880-2DC8-11D0-90EA-00AA0060F86C} // {641BD880-2DC8-11D0-90EA-00AA0060F86C}
DEFINE_GUID(IID_IStillImageW, 0x641BD880L, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xA A, 0x00, 0x60, 0xF8, 0x6C); DEFINE_GUID(IID_IStillImageW, 0x641BD880L, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xA A, 0x00, 0x60, 0xF8, 0x6C);
// {A7B1F740-1D7F-11D1-ACA9-00A02438AD48}
DEFINE_GUID(IID_IStillImageA, 0xA7B1F740L, 0x1D7F, 0x11D1, 0xAC, 0xA9, 0x00, 0xA
0, 0x24, 0x38, 0xAD, 0x48);
// {6CFA5A80-2DC8-11D0-90EA-00AA0060F86C} // {6CFA5A80-2DC8-11D0-90EA-00AA0060F86C}
DEFINE_GUID(IID_IStiDevice, 0x6CFA5A80L, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); DEFINE_GUID(IID_IStiDevice, 0x6CFA5A80L, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C);
/* /*
* Standard event GUIDs * Standard event GUIDs
*/ */
// {740D9EE6-70F1-11d1-AD10-00A02438AD48} // {740D9EE6-70F1-11d1-AD10-00A02438AD48}
DEFINE_GUID(GUID_DeviceArrivedLaunch, 0x740d9ee6, 0x70f1, 0x11d1, 0xad, 0x10, 0x 0, 0xa0, 0x24, 0x38, 0xad, 0x48); DEFINE_GUID(GUID_DeviceArrivedLaunch, 0x740d9ee6, 0x70f1, 0x11d1, 0xad, 0x10, 0x 0, 0xa0, 0x24, 0x38, 0xad, 0x48);
skipping to change at line 116 skipping to change at line 113
// //
// Generic constants and definitions // Generic constants and definitions
// //
#define STI_VERSION_FLAG_MASK 0xff000000 #define STI_VERSION_FLAG_MASK 0xff000000
#define STI_VERSION_FLAG_UNICODE 0x01000000 #define STI_VERSION_FLAG_UNICODE 0x01000000
#define GET_STIVER_MAJOR(dwVersion) (HIWORD(dwVersion) & ~STI_VERSION_FLAG_MAS K) #define GET_STIVER_MAJOR(dwVersion) (HIWORD(dwVersion) & ~STI_VERSION_FLAG_MAS K)
#define GET_STIVER_MINOR(dwVersion) LOWORD(dwVersion) #define GET_STIVER_MINOR(dwVersion) LOWORD(dwVersion)
#define STI_VERSION_REAL 0x00000002 #define STI_VERSION_REAL 0x00000002
#if (_WIN32_WINNT >= 0x0600) // Longhorn
#define STI_VERSION_3 (0x00000003 | STI_VERSION_FLAG_UNICODE)
#endif //#if (_WIN32_WINNT >= 0x0600) // Longhorn
#define STI_VERSION_MIN_ALLOWED 0x00000002 #define STI_VERSION_MIN_ALLOWED 0x00000002
#ifdef UNICODE #ifdef UNICODE
#define STI_VERSION (STI_VERSION_REAL | STI_VERSION_FLAG_UNICODE ) #define STI_VERSION (STI_VERSION_REAL | STI_VERSION_FLAG_UNICODE )
#else #else
#define STI_VERSION (STI_VERSION_REAL) #define STI_VERSION (STI_VERSION_REAL)
#endif #endif
// //
// Maximum length of internal device name // Maximum length of internal device name
skipping to change at line 149 skipping to change at line 153
// of the device, it only means that device was installed at least once and had not been removed since. // of the device, it only means that device was installed at least once and had not been removed since.
// //
// //
// Type of device ( scanner, camera) is represented by DWORD value with // Type of device ( scanner, camera) is represented by DWORD value with
// hi word containing generic device type , and lo word containing sub-type // hi word containing generic device type , and lo word containing sub-type
// //
typedef enum _STI_DEVICE_MJ_TYPE { typedef enum _STI_DEVICE_MJ_TYPE {
StiDeviceTypeDefault = 0, StiDeviceTypeDefault = 0,
StiDeviceTypeScanner = 1, StiDeviceTypeScanner = 1,
#if (_WIN32_WINNT >= 0x0501) // WinXP
StiDeviceTypeDigitalCamera = 2, StiDeviceTypeDigitalCamera = 2,
StiDeviceTypeStreamingVideo = 3 StiDeviceTypeStreamingVideo = 3
#else
StiDeviceTypeDigitalCamera = 2
#endif //#if (_WIN32_WINNT >= 0x0501) // WinXP
} STI_DEVICE_MJ_TYPE; } STI_DEVICE_MJ_TYPE;
typedef DWORD STI_DEVICE_TYPE; typedef DWORD STI_DEVICE_TYPE;
// //
// Macros to extract device type/subtype from single type field // Macros to extract device type/subtype from single type field
// //
#define GET_STIDEVICE_TYPE(dwDevType) HIWORD(dwDevType) #define GET_STIDEVICE_TYPE(dwDevType) HIWORD(dwDevType)
#define GET_STIDEVICE_SUBTYPE(dwDevType) LOWORD(dwDevType) #define GET_STIDEVICE_SUBTYPE(dwDevType) LOWORD(dwDevType)
skipping to change at line 211 skipping to change at line 219
// //
#define STI_GENCAP_GENERATE_ARRIVALEVENT 0x00000004 #define STI_GENCAP_GENERATE_ARRIVALEVENT 0x00000004
// //
// Auto port selection on non-PnP buses // Auto port selection on non-PnP buses
// This capability indicates that USD is able to detect non-PnP device on a // This capability indicates that USD is able to detect non-PnP device on a
// bus , device is supposed to be attached to. // bus , device is supposed to be attached to.
// //
#define STI_GENCAP_AUTO_PORTSELECT 0x00000008 #define STI_GENCAP_AUTO_PORTSELECT 0x00000008
#if (_WIN32_WINNT >= 0x0501) // WinXP
// //
// WIA capability bit. // WIA capability bit.
// This capability indicates that USD is WIA capable. // This capability indicates that USD is WIA capable.
// //
#define STI_GENCAP_WIA 0x00000010 #define STI_GENCAP_WIA 0x00000010
// //
// Subset driver bit. // Subset driver bit.
// This capability indicates that there is more featured driver exists. All // This capability indicates that there is more featured driver exists. All
// of inbox driver has this bit set. Fully featured (IHV) driver shouldn't have // of inbox driver has this bit set. Fully featured (IHV) driver shouldn't have
// this bit set. // this bit set.
// //
#define STI_GENCAP_SUBSET 0x00000020 #define STI_GENCAP_SUBSET 0x00000020
#endif //#if (_WIN32_WINNT >= 0x0501) // WinXP
#if (_WIN32_WINNT >= 0x0600) // Longhorn
#define WIA_INCOMPAT_XP 0x00000001
#endif //#if (_WIN32_WINNT >= 0x0600) // Longhorn
// //
// //
// Type of bus connection for those in need to know // Type of bus connection for those in need to know
// //
#define STI_HW_CONFIG_UNKNOWN 0x0001 #define STI_HW_CONFIG_UNKNOWN 0x0001
#define STI_HW_CONFIG_SCSI 0x0002 #define STI_HW_CONFIG_SCSI 0x0002
#define STI_HW_CONFIG_USB 0x0004 #define STI_HW_CONFIG_USB 0x0004
#define STI_HW_CONFIG_SERIAL 0x0008 #define STI_HW_CONFIG_SERIAL 0x0008
#define STI_HW_CONFIG_PARALLEL 0x0010 #define STI_HW_CONFIG_PARALLEL 0x0010
skipping to change at line 272 skipping to change at line 290
LPWSTR pszPortName; LPWSTR pszPortName;
// Control panel propery provider // Control panel propery provider
LPWSTR pszPropProvider; LPWSTR pszPropProvider;
// Local specific ("friendly") name of the device, mainly used for showing i n the UI // Local specific ("friendly") name of the device, mainly used for showing i n the UI
LPWSTR pszLocalName; LPWSTR pszLocalName;
} STI_DEVICE_INFORMATIONW, *PSTI_DEVICE_INFORMATIONW; } STI_DEVICE_INFORMATIONW, *PSTI_DEVICE_INFORMATIONW;
typedef struct _STI_DEVICE_INFORMATIONA {
DWORD dwSize;
// Type of the hardware imaging device
STI_DEVICE_TYPE DeviceType;
// Device identifier for reference when creating device object
CHAR szDeviceInternalName[STI_MAX_INTERNAL_NAME_LENGTH];
// Set of capabilities flags
STI_DEV_CAPS DeviceCapabilities;
// This includes bus type
DWORD dwHardwareConfiguration;
// Vendor description string
LPCSTR pszVendorDescription;
// Device description , provided by vendor
LPCSTR pszDeviceDescription;
// String , representing port on which device is accessible.
LPCSTR pszPortName;
// Control panel propery provider
LPCSTR pszPropProvider;
// Local specific ("friendly") name of the device, mainly used for showing i
n the UI
LPCSTR pszLocalName;
} STI_DEVICE_INFORMATIONA, *PSTI_DEVICE_INFORMATIONA;
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
typedef STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATION; typedef STI_DEVICE_INFORMATIONW STI_DEVICE_INFORMATION;
typedef PSTI_DEVICE_INFORMATIONW PSTI_DEVICE_INFORMATION; typedef PSTI_DEVICE_INFORMATIONW PSTI_DEVICE_INFORMATION;
#else
typedef STI_DEVICE_INFORMATIONA STI_DEVICE_INFORMATION;
typedef PSTI_DEVICE_INFORMATIONA PSTI_DEVICE_INFORMATION;
#endif #endif
// //
// EXTENDED STI INFORMATION TO COVER WIA // EXTENDED STI INFORMATION TO COVER WIA
// //
typedef struct _STI_WIA_DEVICE_INFORMATIONW { typedef struct _STI_WIA_DEVICE_INFORMATIONW {
DWORD dwSize; DWORD dwSize;
// Type of the hardware imaging device // Type of the hardware imaging device
skipping to change at line 355 skipping to change at line 338
// //
// WIA values // WIA values
// //
LPWSTR pszUiDll; LPWSTR pszUiDll;
LPWSTR pszServer; LPWSTR pszServer;
} STI_WIA_DEVICE_INFORMATIONW, *PSTI_WIA_DEVICE_INFORMATIONW; } STI_WIA_DEVICE_INFORMATIONW, *PSTI_WIA_DEVICE_INFORMATIONW;
typedef struct _STI_WIA_DEVICE_INFORMATIONA {
DWORD dwSize;
// Type of the hardware imaging device
STI_DEVICE_TYPE DeviceType;
// Device identifier for reference when creating device object
CHAR szDeviceInternalName[STI_MAX_INTERNAL_NAME_LENGTH];
// Set of capabilities flags
STI_DEV_CAPS DeviceCapabilities;
// This includes bus type
DWORD dwHardwareConfiguration;
// Vendor description string
LPCSTR pszVendorDescription;
// Device description , provided by vendor
LPCSTR pszDeviceDescription;
// String , representing port on which device is accessible.
LPCSTR pszPortName;
// Control panel propery provider
LPCSTR pszPropProvider;
// Local specific ("friendly") name of the device, mainly used for showing i
n the UI
LPCSTR pszLocalName;
//
// WIA values
//
LPCSTR pszUiDll;
LPCSTR pszServer;
} STI_WIA_DEVICE_INFORMATIONA, *PSTI_WIA_DEVICE_INFORMATIONA;
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
typedef STI_WIA_DEVICE_INFORMATIONW STI_WIA_DEVICE_INFORMATION; typedef STI_WIA_DEVICE_INFORMATIONW STI_WIA_DEVICE_INFORMATION;
typedef PSTI_WIA_DEVICE_INFORMATIONW PSTI_WIA_DEVICE_INFORMATION; typedef PSTI_WIA_DEVICE_INFORMATIONW PSTI_WIA_DEVICE_INFORMATION;
#else
typedef STI_WIA_DEVICE_INFORMATIONA STI_WIA_DEVICE_INFORMATION;
typedef PSTI_WIA_DEVICE_INFORMATIONA PSTI_WIA_DEVICE_INFORMATION;
#endif #endif
// end sti_device_information // end sti_device_information
// //
// Device state information. // Device state information.
// ------------------------ // ------------------------
// //
// Following types are used to inquire state characteristics of the device afte r // Following types are used to inquire state characteristics of the device afte r
// it had been opened. // it had been opened.
skipping to change at line 511 skipping to change at line 452
DWORD dwGenericError; DWORD dwGenericError;
// vendor specific error code // vendor specific error code
DWORD dwVendorError; DWORD dwVendorError;
// String, describing in more details results of last operation if it failed // String, describing in more details results of last operation if it failed
WCHAR szExtendedErrorText[255]; WCHAR szExtendedErrorText[255];
} STI_ERROR_INFOW,*PSTI_ERROR_INFOW; } STI_ERROR_INFOW,*PSTI_ERROR_INFOW;
typedef struct _ERROR_INFOA {
DWORD dwSize;
DWORD dwGenericError;
DWORD dwVendorError;
CHAR szExtendedErrorText[255];
} STI_ERROR_INFOA,*PSTI_ERROR_INFOA;
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
typedef STI_ERROR_INFOW STI_ERROR_INFO; typedef STI_ERROR_INFOW STI_ERROR_INFO;
#else
typedef STI_ERROR_INFOA STI_ERROR_INFO;
#endif #endif
typedef STI_ERROR_INFO* PSTI_ERROR_INFO; typedef STI_ERROR_INFO* PSTI_ERROR_INFO;
typedef struct _STI_DIAG { typedef struct _STI_DIAG {
DWORD dwSize; DWORD dwSize;
// Diagnostic request fields. Are set on request by caller // Diagnostic request fields. Are set on request by caller
skipping to change at line 683 skipping to change at line 611
#define STI_RAW_RESERVED 0x1000 #define STI_RAW_RESERVED 0x1000
/* /*
* COM Interfaces to STI * COM Interfaces to STI
*/ */
#ifdef __cplusplus #ifdef __cplusplus
/* 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined */ /* 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined */
interface IStillImageW; interface IStillImageW;
interface IStillImageA;
interface IStiDevice; interface IStiDevice;
#endif #endif
#ifndef MIDL_PASS #ifndef MIDL_PASS
//DLLEXP STDMETHODIMP StiCreateInstanceW(HINSTANCE hinst, DWORD dwVer, interface
IStillImageW **ppSti, LPUNKNOWN punkOuter);
//DLLEXP STDMETHODIMP StiCreateInstanceA(HINSTANCE hinst, DWORD dwVer, interface
IStillImageA **ppSti, LPUNKNOWN punkOuter);
STDMETHODIMP StiCreateInstanceW(HINSTANCE hinst, DWORD dwVer, interface IStillIm ageW **ppSti, LPUNKNOWN punkOuter); STDMETHODIMP StiCreateInstanceW(HINSTANCE hinst, DWORD dwVer, interface IStillIm ageW **ppSti, LPUNKNOWN punkOuter);
STDMETHODIMP StiCreateInstanceA(HINSTANCE hinst, DWORD dwVer, interface IStillIm ageA **ppSti, LPUNKNOWN punkOuter);
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
#define IID_IStillImage IID_IStillImageW #define IID_IStillImage IID_IStillImageW
#define IStillImage IStillImageW #define IStillImage IStillImageW
#define StiCreateInstance StiCreateInstanceW #define StiCreateInstance StiCreateInstanceW
#else
#define IID_IStillImage IID_IStillImageA
#define IStillImage IStillImageA
#define StiCreateInstance StiCreateInstanceA
#endif #endif
typedef interface IStiDevice *LPSTILLIMAGEDEVICE; typedef interface IStiDevice *LPSTILLIMAGEDEVICE;
typedef interface IStillImage *PSTI; typedef interface IStillImage *PSTI;
typedef interface IStiDevice *PSTIDEVICE; typedef interface IStiDevice *PSTIDEVICE;
typedef interface IStillImageA *PSTIA;
typedef interface IStiDeviceA *PSTIDEVICEA;
typedef interface IStillImageW *PSTIW; typedef interface IStillImageW *PSTIW;
typedef interface IStiDeviceW *PSTIDEVICEW; typedef interface IStiDeviceW *PSTIDEVICEW;
//DLLEXP STDMETHODIMP StiCreateInstance(HINSTANCE hinst, DWORD dwVer, PSTI *ppSt i, LPUNKNOWN punkOuter); //DLLEXP STDMETHODIMP StiCreateInstance(HINSTANCE hinst, DWORD dwVer, PSTI *ppSt i, LPUNKNOWN punkOuter);
/* /*
* IStillImage interface * IStillImage interface
* *
* Top level STI access interface. * Top level STI access interface.
* *
skipping to change at line 739 skipping to change at line 656
{ {
/*** IUnknown methods ***/ /*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE; STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE; STDMETHOD_(ULONG, Release) (THIS) PURE;
/*** IStillImage methods ***/ /*** IStillImage methods ***/
STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,DWORD dwVersion) PURE; STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,DWORD dwVersion) PURE;
STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsRet urned,LPVOID *ppBuffer) PURE; STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsRet urned,LPVOID *ppBuffer) PURE;
STDMETHOD(GetDeviceInfo)(THIS_ LPWSTR pwszDeviceName, LPVOID *ppBuffer) PUR E; STDMETHOD(GetDeviceInfo)(__in THIS_ LPWSTR pwszDeviceName, LPVOID *ppBuffer ) PURE;
STDMETHOD(CreateDevice) (THIS_ LPWSTR pwszDeviceName, DWORD dwMode, PSTID EVICE *pDevice,LPUNKNOWN punkOuter) PURE; STDMETHOD(CreateDevice) (__in THIS_ LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICE *pDevice,LPUNKNOWN punkOuter) PURE;
// //
// Device instance values. Used to associate various data with device. // Device instance values. Used to associate various data with device.
// //
STDMETHOD(GetDeviceValue)(THIS_ LPWSTR pwszDeviceName,LPWSTR pValueName, STDMETHOD(GetDeviceValue)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pVal
LPDWORD pType,LPBYTE pData,LPDWORD cbData); ueName, LPDWORD pType, __out_bcount(*cbData) LPBYTE pData, LPDWORD cbData);
STDMETHOD(SetDeviceValue)(THIS_ LPWSTR pwszDeviceName,LPWSTR pValueName,D STDMETHOD(SetDeviceValue)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pVal
WORD Type,LPBYTE pData,DWORD cbData); ueName, DWORD Type, __in_bcount(cbData) LPBYTE pData, DWORD cbData);
// //
// For appllication started through push model launch, returns associated in formation // For appllication started through push model launch, returns associated in formation
// //
STDMETHOD(GetSTILaunchInformation)(THIS_ LPWSTR pwszDeviceName, DWORD *pdwE STDMETHOD(GetSTILaunchInformation)(__out_ecount(STI_MAX_INTERNAL_NAME_LENGTH
ventCode,LPWSTR pwszEventName) PURE; ) THIS_ LPWSTR pwszDeviceName, DWORD *pdwEventCode, __out_ecount(STI_MAX_INTERN
STDMETHOD(RegisterLaunchApplication)(THIS_ LPWSTR pwszAppName,LPWSTR pwszC AL_NAME_LENGTH) LPWSTR pwszEventName) PURE;
ommandLine) PURE; STDMETHOD(RegisterLaunchApplication)(__in THIS_ LPWSTR pwszAppName, __in LP
STDMETHOD(UnregisterLaunchApplication)(THIS_ LPWSTR pwszAppName) PURE; WSTR pwszCommandLine) PURE;
STDMETHOD(UnregisterLaunchApplication)(__in THIS_ LPWSTR pwszAppName) PURE;
// //
// To control state of notification handling. For polled devices this means state of monitor // To control state of notification handling. For polled devices this means state of monitor
// polling, for true notification devices means enabling/disabling notificat ion flow // polling, for true notification devices means enabling/disabling notificat ion flow
// from monitor to registered applications // from monitor to registered applications
// //
STDMETHOD(EnableHwNotifications)(THIS_ LPCWSTR pwszDeviceName,BOOL bNewStat e) PURE; STDMETHOD(EnableHwNotifications)(THIS_ LPCWSTR pwszDeviceName,BOOL bNewStat e) PURE;
STDMETHOD(GetHwNotificationState)(THIS_ LPCWSTR pwszDeviceName,BOOL *pbCurr entState) PURE; STDMETHOD(GetHwNotificationState)(THIS_ LPCWSTR pwszDeviceName,BOOL *pbCurr entState) PURE;
// //
skipping to change at line 776 skipping to change at line 693
// which in some cases will make device known. This is mainly used for nonPn P buses // which in some cases will make device known. This is mainly used for nonPn P buses
// like SCSI, when device was powered on after PnP enumeration // like SCSI, when device was powered on after PnP enumeration
// //
// //
STDMETHOD(RefreshDeviceBus)(THIS_ LPCWSTR pwszDeviceName) PURE; STDMETHOD(RefreshDeviceBus)(THIS_ LPCWSTR pwszDeviceName) PURE;
// //
// Launch application to emulate event on a device. Used by "control center" style components, // Launch application to emulate event on a device. Used by "control center" style components,
// which intercept device event , analyze and later force launch based on ce rtain criteria. // which intercept device event , analyze and later force launch based on ce rtain criteria.
// //
STDMETHOD(LaunchApplicationForDevice)(THIS_ LPWSTR pwszDeviceName,LPWSTR pwszAppName,LPSTINOTIFY pStiNotify); STDMETHOD(LaunchApplicationForDevice)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pwszAppName, LPSTINOTIFY pStiNotify);
// //
// For non-PnP devices with non-known bus type connection, setup extension, associated with the // For non-PnP devices with non-known bus type connection, setup extension, associated with the
// device can set it's parameters // device can set it's parameters
// //
STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONW); STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONW);
// //
// Write message to STI error log // Write message to STI error log
// //
skipping to change at line 803 skipping to change at line 720
// //
STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRI BE lpSubscribe) PURE; STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRI BE lpSubscribe) PURE;
STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE;
#endif //NOT_IMPLEMENTED #endif //NOT_IMPLEMENTED
}; };
typedef struct IStillImageW *LPSTILLIMAGEW; typedef struct IStillImageW *LPSTILLIMAGEW;
#undef INTERFACE
#define INTERFACE IStillImageA
DECLARE_INTERFACE_(IStillImageA, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
/*** IStillImage methods ***/
STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,DWORD dwVersion) PURE;
STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsRet
urned,LPVOID *ppBuffer) PURE;
STDMETHOD(GetDeviceInfo)(THIS_ LPCSTR pwszDeviceName, LPVOID *ppBuffer) PUR
E;
STDMETHOD(CreateDevice) (THIS_ LPCSTR pwszDeviceName, DWORD dwMode, PSTID
EVICE *pDevice,LPUNKNOWN punkOuter) PURE;
//
// Device instance values. Used to associate various data with device.
//
STDMETHOD(GetDeviceValue)(THIS_ LPCSTR pwszDeviceName,LPCSTR pValueName,L
PDWORD pType,LPBYTE pData,LPDWORD cbData);
STDMETHOD(SetDeviceValue)(THIS_ LPCSTR pwszDeviceName,LPCSTR pValueName,D
WORD Type,LPBYTE pData,DWORD cbData);
//
// For appllication started through push model launch, returns associated in
formation
//
STDMETHOD(GetSTILaunchInformation)(THIS_ LPSTR pwszDeviceName, DWORD *pdwEv
entCode,LPSTR pwszEventName) PURE;
STDMETHOD(RegisterLaunchApplication)(THIS_ LPCSTR pwszAppName,LPCSTR pwszC
ommandLine) PURE;
STDMETHOD(UnregisterLaunchApplication)(THIS_ LPCSTR pwszAppName) PURE;
//
// To control state of notification handling. For polled devices this means
state of monitor
// polling, for true notification devices means enabling/disabling notificat
ion flow
// from monitor to registered applications
//
STDMETHOD(EnableHwNotifications)(THIS_ LPCSTR pwszDeviceName,BOOL bNewState
) PURE;
STDMETHOD(GetHwNotificationState)(THIS_ LPCSTR pwszDeviceName,BOOL *pbCurre
ntState) PURE;
//
// When device is installed but not accessible, application may request bus
refresh
// which in some cases will make device known. This is mainly used for nonPn
P buses
// like SCSI, when device was powered on after PnP enumeration
//
//
STDMETHOD(RefreshDeviceBus)(THIS_ LPCSTR pwszDeviceName) PURE;
//
// Launch application to emulate event on a device. Used by "control center"
style components,
// which intercept device event , analyze and later force launch based on ce
rtain criteria.
//
STDMETHOD(LaunchApplicationForDevice)(THIS_ LPCSTR pwszDeviceName,LPCSTR
pwszAppName,LPSTINOTIFY pStiNotify);
//
// For non-PnP devices with non-known bus type connection, setup extension,
associated with the
// device can set it's parameters
//
STDMETHOD(SetupDeviceParameters)(THIS_ PSTI_DEVICE_INFORMATIONA);
//
// Write message to STI error log
//
STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType,LPCSTR pszMessage) PURE
;
#ifdef NOT_IMPLEMENTED
//
// TO register application for receiving various STI notifications
//
STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRI
BE lpSubscribe) PURE;
STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE;
#endif //NOT_IMPLEMENTED
};
typedef struct IStillImageA *LPSTILLIMAGEA;
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
#define IStillImageVtbl IStillImageWVtbl #define IStillImageVtbl IStillImageWVtbl
#else
#define IStillImageVtbl IStillImageAVtbl
#endif #endif
typedef struct IStillImage *LPSTILLIMAGE; typedef struct IStillImage *LPSTILLIMAGE;
#if !defined(__cplusplus) || defined(CINTERFACE) #if !defined(__cplusplus) || defined(CINTERFACE)
#define IStillImage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a, b) #define IStillImage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a, b)
#define IStillImage_AddRef(p) (p)->lpVtbl->AddRef(p) #define IStillImage_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IStillImage_Release(p) (p)->lpVtbl->Release(p) #define IStillImage_Release(p) (p)->lpVtbl->Release(p)
#define IStillImage_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b) #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_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_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_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->GetDevice Value(p,a,b,c,d,e) #define IStillImage_GetDeviceValue(p,a,b,c,d,e) (p)->lpVtbl->GetDevice Value(p,a,b,c,d,e)
#define IStillImage_SetDeviceValue(p,a,b,c,d,e) (p)->lpVtbl->SetDevice Value(p,a,b,c,d,e) #define IStillImage_SetDeviceValue(p,a,b,c,d,e) (p)->lpVtbl->SetDevice Value(p,a,b,c,d,e)
 End of changes. 25 change blocks. 
220 lines changed or deleted 35 lines changed or added

This html diff was produced by rfcdiff 1.41.