Headers diff for sti.dll between 6.0.6001.18000-Windows 6.0 and 6.1.7600.16385-Windows 7.0 versions



 sti.h (6.0.6001.18000-Windows 6.0)   sti.h (6.1.7600.16385-Windows 7.0) 
skipping to change at line 114 skipping to change at line 114
// 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 #if (_WIN32_WINNT >= 0x0600) // Windows Vista and later
#define STI_VERSION_3 (0x00000003 | STI_VERSION_FLAG_UNICODE) #define STI_VERSION_3 (0x00000003 | STI_VERSION_FLAG_UNICODE)
#endif //#if (_WIN32_WINNT >= 0x0600) // Longhorn #endif //#if (_WIN32_WINNT >= 0x0600)
#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
// //
skipping to change at line 153 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 #if (_WIN32_WINNT >= 0x0501) // Windows XP and later
StiDeviceTypeDigitalCamera = 2, StiDeviceTypeDigitalCamera = 2,
StiDeviceTypeStreamingVideo = 3 StiDeviceTypeStreamingVideo = 3
#else #else
StiDeviceTypeDigitalCamera = 2 StiDeviceTypeDigitalCamera = 2
#endif //#if (_WIN32_WINNT >= 0x0501) // WinXP #endif //#if (_WIN32_WINNT >= 0x0501)
} 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 219 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 #if (_WIN32_WINNT >= 0x0501) // Windows XP and later
// //
// 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 #endif //#if (_WIN32_WINNT >= 0x0501)
#if (_WIN32_WINNT >= 0x0600) // Longhorn #if (_WIN32_WINNT >= 0x0600) // Windows Vista and later
#define WIA_INCOMPAT_XP 0x00000001 #define WIA_INCOMPAT_XP 0x00000001
#endif //#if (_WIN32_WINNT >= 0x0600) // Longhorn #endif //#if (_WIN32_WINNT >= 0x0600)
// //
// //
// 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 648 skipping to change at line 648
* *
* Top level STI access interface. * Top level STI access interface.
* *
*/ */
#undef INTERFACE #undef INTERFACE
#define INTERFACE IStillImageW #define INTERFACE IStillImageW
DECLARE_INTERFACE_(IStillImageW, IUnknown) DECLARE_INTERFACE_(IStillImageW, IUnknown)
{ {
/*** IUnknown methods ***/ /*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; STDMETHOD(QueryInterface) (THIS_ __in REFIID riid, __deref_out LPVOID* ppvOb j) 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_ __in HINSTANCE hinst,DWORD dwVersion) PURE;
STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags,DWORD *pdwItemsRet STDMETHOD(GetDeviceList)(THIS_ DWORD dwType,DWORD dwFlags, __out DWORD *pdwI
urned,LPVOID *ppBuffer) PURE; temsReturned, __out LPVOID *ppBuffer) PURE;
STDMETHOD(GetDeviceInfo)(__in THIS_ LPWSTR pwszDeviceName, LPVOID *ppBuffer STDMETHOD(GetDeviceInfo)(THIS_ __in LPWSTR pwszDeviceName, __out LPVOID *pp
) PURE; Buffer) PURE;
STDMETHOD(CreateDevice) (__in THIS_ LPWSTR pwszDeviceName, DWORD dwMode, PSTIDEVICE *pDevice,LPUNKNOWN punkOuter) PURE; STDMETHOD(CreateDevice) (THIS_ __in LPWSTR pwszDeviceName, DWORD dwMode, __ out PSTIDEVICE *pDevice, __in_opt 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)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pVal STDMETHOD(GetDeviceValue)(THIS_ __in LPWSTR pwszDeviceName, __in LPWSTR pVal
ueName, LPDWORD pType, __out_bcount(*cbData) LPBYTE pData, LPDWORD cbData); ueName, __out LPDWORD pType, __out_bcount(*cbData) LPBYTE pData, __inout LPDWORD
STDMETHOD(SetDeviceValue)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pVal cbData);
ueName, DWORD Type, __in_bcount(cbData) LPBYTE pData, DWORD cbData); STDMETHOD(SetDeviceValue)(THIS_ __in LPWSTR pwszDeviceName, __in LPWSTR pVal
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)(__out_ecount(STI_MAX_INTERNAL_NAME_LENGTH STDMETHOD(GetSTILaunchInformation)(THIS_ __out_ecount(STI_MAX_INTERNAL_NAME_
) THIS_ LPWSTR pwszDeviceName, DWORD *pdwEventCode, __out_ecount(STI_MAX_INTERN LENGTH) LPWSTR pwszDeviceName, __out_opt DWORD *pdwEventCode, __out_ecount(STI_M
AL_NAME_LENGTH) LPWSTR pwszEventName) PURE; AX_INTERNAL_NAME_LENGTH) LPWSTR pwszEventName) PURE;
STDMETHOD(RegisterLaunchApplication)(__in THIS_ LPWSTR pwszAppName, __in LP STDMETHOD(RegisterLaunchApplication)(THIS_ __in LPWSTR pwszAppName, __in LPW
WSTR pwszCommandLine) PURE; STR pwszCommandLine) PURE;
STDMETHOD(UnregisterLaunchApplication)(__in THIS_ LPWSTR pwszAppName) PURE; STDMETHOD(UnregisterLaunchApplication)(THIS_ __in 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 STDMETHOD(EnableHwNotifications)(THIS_ __in LPCWSTR pwszDeviceName, BOOL bNe
e) PURE; wState) PURE;
STDMETHOD(GetHwNotificationState)(THIS_ LPCWSTR pwszDeviceName,BOOL *pbCurr STDMETHOD(GetHwNotificationState)(THIS_ __in LPCWSTR pwszDeviceName, __out B
entState) PURE; OOL *pbCurrentState) PURE;
// //
// When device is installed but not accessible, application may request bus refresh // 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 // 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_ __in 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)(__in THIS_ LPWSTR pwszDeviceName, __in LPWSTR pwszAppName, LPSTINOTIFY pStiNotify); STDMETHOD(LaunchApplicationForDevice)(THIS_ __in LPWSTR pwszDeviceName, __in LPWSTR pwszAppName, __in 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_ __inout PSTI_DEVICE_INFORMATIONW);
// //
// Write message to STI error log // Write message to STI error log
// //
STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType,LPCWSTR pszMessage) PUR E; STDMETHOD(WriteToErrorLog)(THIS_ DWORD dwMessageType, __in LPCWSTR pszMessag e) PURE;
#ifdef NOT_IMPLEMENTED #ifdef NOT_IMPLEMENTED
// //
// TO register application for receiving various STI notifications // TO register application for receiving various STI notifications
// //
STIMETHOD(RegisterDeviceNotification(THIS_ LPWSTR pwszAppName,LPSUBSCRI BE lpSubscribe) PURE; STIMETHOD(RegisterDeviceNotification(THIS_ __in LPWSTR pwszAppName, __in out LPSUBSCRIBE lpSubscribe) PURE;
STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE; STIMETHOD(UnregisterDeviceNotification(THIS_ ) PURE;
#endif //NOT_IMPLEMENTED #endif //NOT_IMPLEMENTED
}; };
typedef struct IStillImageW *LPSTILLIMAGEW; typedef struct IStillImageW *LPSTILLIMAGEW;
#if defined(UNICODE) || defined(STI_UNICODE) #if defined(UNICODE) || defined(STI_UNICODE)
#define IStillImageVtbl IStillImageWVtbl #define IStillImageVtbl IStillImageWVtbl
skipping to change at line 758 skipping to change at line 758
* IStillImage_Device interface * IStillImage_Device interface
* *
* This is generic per device interface. Specialized interfaces are also * This is generic per device interface. Specialized interfaces are also
* available * available
*/ */
#undef INTERFACE #undef INTERFACE
#define INTERFACE IStiDevice #define INTERFACE IStiDevice
DECLARE_INTERFACE_(IStiDevice, IUnknown) DECLARE_INTERFACE_(IStiDevice, IUnknown)
{ {
/*** IUnknown methods ***/ /*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE; STDMETHOD(QueryInterface) (THIS_ __in REFIID riid, __deref_out LPVOID* ppvOb j) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE; STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE; STDMETHOD_(ULONG, Release) (THIS) PURE;
/*** IStiDevice methods ***/ /*** IStiDevice methods ***/
STDMETHOD(Initialize) (THIS_ HINSTANCE hinst,LPCWSTR pwszDeviceName,DWORD dw Version,DWORD dwMode) PURE; STDMETHOD(Initialize) (THIS_ __in HINSTANCE hinst, __in LPCWSTR pwszDeviceNa me, DWORD dwVersion, DWORD dwMode) PURE;
STDMETHOD(GetCapabilities) (THIS_ PSTI_DEV_CAPS pDevCaps) PURE; STDMETHOD(GetCapabilities) (THIS_ __inout PSTI_DEV_CAPS pDevCaps) PURE;
STDMETHOD(GetStatus) (THIS_ PSTI_DEVICE_STATUS pDevStatus) PURE; STDMETHOD(GetStatus) (THIS_ __inout PSTI_DEVICE_STATUS pDevStatus) PURE;
STDMETHOD(DeviceReset)(THIS ) PURE; STDMETHOD(DeviceReset)(THIS) PURE;
STDMETHOD(Diagnostic)(THIS_ LPSTI_DIAG pBuffer) PURE; STDMETHOD(Diagnostic)(THIS_ __inout LPSTI_DIAG pBuffer) PURE;
STDMETHOD(Escape)(THIS_ STI_RAW_CONTROL_CODE EscapeFunction,LPVOID lpInD STDMETHOD(Escape)(THIS_ STI_RAW_CONTROL_CODE EscapeFunction, __in_bcount(cbI
ata,DWORD cbInDataSize,LPVOID pOutData,DWORD dwOutDataSize,LPDWORD pdwActualDa nDataSize) LPVOID lpInData, DWORD cbInDataSize,
ta) PURE ; __inout_bcount_part(dwOutDataSize, *pdwActualData) LPVOID pOutData, DWOR
D dwOutDataSize, __out LPDWORD pdwActualData) PURE ;
STDMETHOD(GetLastError) (THIS_ LPDWORD pdwLastDeviceError) PURE; STDMETHOD(GetLastError) (THIS_ __out LPDWORD pdwLastDeviceError) PURE;
STDMETHOD(LockDevice) (THIS_ DWORD dwTimeOut) PURE; STDMETHOD(LockDevice) (THIS_ DWORD dwTimeOut) PURE;
STDMETHOD(UnLockDevice) (THIS ) PURE; STDMETHOD(UnLockDevice) (THIS) PURE;
STDMETHOD(RawReadData)(THIS_ LPVOID lpBuffer,LPDWORD lpdwNumberOfBytes,LPOVE STDMETHOD(RawReadData)(THIS_ __inout_bcount(*lpdwNumberOfBytes) LPVOID lpBuf
RLAPPED lpOverlapped) PURE; fer, __inout LPDWORD lpdwNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE
STDMETHOD(RawWriteData)(THIS_ LPVOID lpBuffer,DWORD nNumberOfBytes,LPOVERLAP ;
PED lpOverlapped) PURE; STDMETHOD(RawWriteData)(THIS_ __in_bcount(nNumberOfBytes) LPVOID lpBuffer, D
WORD nNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE;
STDMETHOD(RawReadCommand)(THIS_ LPVOID lpBuffer,LPDWORD lpdwNumberOfBytes,LP STDMETHOD(RawReadCommand)(THIS_ __inout_bcount(*lpdwNumberOfBytes) LPVOID lp
OVERLAPPED lpOverlapped) PURE; Buffer, __inout LPDWORD lpdwNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) P
STDMETHOD(RawWriteCommand)(THIS_ LPVOID lpBuffer,DWORD nNumberOfBytes,LPOVER URE;
LAPPED lpOverlapped) PURE; STDMETHOD(RawWriteCommand)(THIS_ __in_bcount(nNumberOfBytes) LPVOID lpBuffer
, DWORD nNumberOfBytes, __in_opt LPOVERLAPPED lpOverlapped) PURE;
// //
// Subscription is used to enable "control center" style applications , wher e flow of // Subscription is used to enable "control center" style applications , wher e flow of
// notifications should be redirected from monitor itself to another "launch er" // notifications should be redirected from monitor itself to another "launch er"
// //
STDMETHOD(Subscribe)(THIS_ LPSTISUBSCRIBE lpSubsribe) PURE; STDMETHOD(Subscribe)(THIS_ __inout LPSTISUBSCRIBE lpSubsribe) PURE;
STDMETHOD(GetLastNotificationData)(THIS_ LPSTINOTIFY lpNotify) PURE; STDMETHOD(GetLastNotificationData)(THIS_ __out LPSTINOTIFY lpNotify) PURE;
STDMETHOD(UnSubscribe)(THIS ) PURE; STDMETHOD(UnSubscribe)(THIS) PURE;
STDMETHOD(GetLastErrorInfo) (THIS_ STI_ERROR_INFO *pLastErrorInfo) PURE; STDMETHOD(GetLastErrorInfo) (THIS_ __out STI_ERROR_INFO *pLastErrorInfo) PUR E;
}; };
#if !defined(__cplusplus) || defined(CINTERFACE) #if !defined(__cplusplus) || defined(CINTERFACE)
#define IStiDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a, b) #define IStiDevice_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a, b)
#define IStiDevice_AddRef(p) (p)->lpVtbl->AddRef(p) #define IStiDevice_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IStiDevice_Release(p) (p)->lpVtbl->Release(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_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_GetCapabilities(p,a) (p)->lpVtbl->GetCapabilities(p,a )
 End of changes. 32 change blocks. 
57 lines changed or deleted 61 lines changed or added

This html diff was produced by rfcdiff 1.41.