| 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 |
|