throbber
United States Patent [19]
`Brown et ai.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US005867385A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,867,385
`Feb. 2, 1999
`
`[54] MOTION CONTROL SYSTEMS
`
`[75]
`
`Inventors: David W. Brown, White Salmon; Jay
`S. Clark, Seattle, both of Wash.
`
`[73] Assignee: Roy-G-Biv Corporation, White
`Salmon, Wash.
`
`[21]
`
`Appl. No.: 656,421
`
`[22]
`
`Filed:
`
`May 30,1996
`
`[51]
`[52]
`
`[58]
`
`Int. CI.6
`..................................................... G05B 19/18
`U.S. CI. .................... 364/167.02; 364/130; 364/191;
`364/474.28; 395/500
`Field of Search ............................... 364/167.01, 191,
`364/474.22, 474.21, 239, 230, 474.23, 474.24,
`474.25, 474.26, 130, 474.28; 395/681, 651,
`500, 680, 800, 828
`
`2/1997 Shaw et al. ............................. 395/101
`5,604,843
`3/1997 Kawakami et al.
`.................... 395/500
`5,608,894
`5,691,897 11/1997 Brown et al. ...................... 364/167.01
`
`FOREIGN PATENT DOCUMENTS
`
`0275826 A1
`0442676 A2
`WO 9507504
`
`7/1988 European Pat. Off ......... G05B 19/00
`8/1991 European Pat. Off ........... G06F 0/44
`3/1995 WIPO .......................... G05B 19/414
`
`OTHER PUBLICATIONS
`
`WOSA Backgrounder: Delivering Enterprise Services to the
`Windows-based Desktop, Jul. 1993, Microsoft Develop(cid:173)
`ment Library WOSA Inside Windows 95, pp. 348-351.
`
`(List continued on next page.)
`
`Primary Examiner-Emanuel Todd Voeltz
`Assistant Examiner-Demetra R. Smith
`Attorney, Agent, or Firm-Michael R. Schacht; Hughes &
`Schacht, P.S.
`
`[56]
`
`References Cited
`
`[57]
`
`ABSTRACT
`
`U.S. PATENT DOCUMENTS
`
`3,673,455
`4,531,182
`4,589,074
`4,672,555
`4,695,792
`4,709,339
`4,937,737
`4,983,955
`5,095,445
`5,126,932
`5,175,817
`5,182,547
`5,224,006
`5,224,054
`5,233,538
`5,245,703
`5,247,650
`5,343,404
`5,390,330
`5,414,635
`5,453,933
`5,487,016
`5,490,086
`5,491,813
`5,587,917
`
`6/1972 Dewey .................................. 317/29 R
`7/1985 Hyatt ....................................... 364/131
`5/1986 Thomas et al. ......................... 364/483
`6/1987 Hart et al. ............................... 364/483
`9/1987 Roy ....................................... 324/83 D
`11/1987 Fernandes ............................... 364/492
`6/1990 Schwane et al.
`....................... 364/680
`1/1991 Ham, Jr. et al. ........................ 340/664
`3/1992 Sekiguchi ........................... 395/200.76
`6/1992 Wolfson et al.
`................... 395/200.32
`12/1992 Adams et al.
`..................... 395/200.66
`1/1993 Griffith.. ... ... ... .... ... ... ... ... ... ...... 340/664
`6/1993 MacKenzie et al.
`..................... 361/45
`6/1993 Wallis ..................................... 364/483
`8/1993 Wallis ..................................... 364/483
`9/1993 Hubert .. ... ... ... .... ... ... ... ... ... ...... 395/285
`9/1993 Judd et al. .............................. 395/500
`8/1994 Girgis ...................................... 364/484
`2/1995 Talati . ... ... ... ... .... ... ... ... ... ... ...... 395/703
`5/1995 Ohta ........................................ 364/481
`9/1995 Wright et al. ...................... 364/474.23
`1/1996 Elms ....................................... 364/484
`2/1996 Leone et al. ............................ 364/492
`2/1996 Bondy et al. ........................... 395/500
`12/1996 Elms ....................................... 364/487
`
`A system for motion control in which an application is
`developed that is independent from the actual motion control
`hardware used to implement the system. The system com(cid:173)
`prises a software system that employs an application pro(cid:173)
`gramming interface comprising component functions and a
`service provider interface comprising driver functions. A
`system programmer writes an application that calls the
`component functions. Code associated with the component
`functions relates these functions to the driver functions. A
`hardware designer writes driver code that implements the
`driver functions on a given motion control hardware prod(cid:173)
`uct. The driver functions are separated into core and
`extended driver functions. All software drivers implement
`the core driver functions, while the software drivers need not
`contain code for implementing the extended driver func(cid:173)
`tions. If the software driver does not contain code to
`implement an extended driver function, the functionality of
`the extended driver function is obtained through a combi(cid:173)
`nation of core driver functions. The system programmer may
`also select one or more streams that allow the control
`commands to be communicated to, and response data to be
`communicated from, motion control hardware.
`
`14 Claims, 64 Drawing Sheets
`
`Module Interaction-Map
`
`Page 1 of 165
`
`

`

`5,867,385
`Page 2
`
`OlliER PUBLICATIONS
`
`Software Products For Industrial Automation, !conics, No
`Date.
`The Complete, Computer-Based Automation Tool (IGSS),
`Seven Technologies NS, No Date.
`OpenBatch Product Brief, PID, Inc., No Date.
`Fix Product Brochure, Intellution (1994).
`Aimax-Win Product Brochure, TA Engineering Co., Inc.,
`No Date.
`Xanalog Model NL-SIM Product Borchure, Xanalog, No
`Date.
`ExperTune PID Tuning Software, Gerry, Engineering Soft(cid:173)
`ware, No Date.
`
`Paragon TNT Product Brochure, Intec Controls Corp., No
`Date.
`Compumotor Digiplan 1993-1994 catalog, pp. 10-11.
`Aerotech Motion Control Product Guide, pp. 233-234, No
`Date.
`PMAC Product Catalog, p. 43, No Date.
`PC/DSP-Series Motion Controller C Programming Guide,
`No Date.
`Precision Motion Controls Product Guide, p. 17, No Date.
`WEB' 3.0 Product Brochure, Trihedral Engineering Ltd.
`(1994).
`Oregon Micro Systems Product Guide, No Date.
`
`Page 2 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 1 of 64
`
`5,867,385
`
`FIG. IA
`10",
`12\ '\
`
`24
`
`26 rl-------- -:1
`
`EXCEL APPLICATION
`I
`I VISUAL BASIC APP
`: C++APPUCATION
`I
`I
`I
`L _____________ J
`
`CD
`o
`LL
`-------(~
`o
`0:::
`LL
`......... g
`
`STANDARD OLE INTERFACES
`CORE INTERFACES
`EXTENDED INTERFACES
`EXTENDED UI INTERFACES
`CODE GENERATION INTERFACES
`VENDOR SPECIFIC INTERFACES
`
`TO/FROM FIG. I D
`
`UNKNOWN
`
`300
`
`Page 3 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 2 of 64
`
`5,867,385
`
`FIG. 18
`
`38
`
`DRIVER
`'r----~ ADMINISTRATOR
`CPL
`
`40
`
`r-------:~DDE SERVER
`
`~----------------~~
`STANDARD OLE INTERFACES
`GENRAL INTERFACES
`<{
`19 CODE GENERATION INTERFACES
`DIAGNOSTIC INTERFACES
`IJ...
`
`UNKNOWN
`
`DRIVER
`ADMIN
`
`STANDARDQE
`INTERFACES
`CUSTOM OLE
`INTERFACES
`
`32
`IUNKNOWN ' t
`
`35
`
`MOTION
`CONTROL
`COMPONENT
`EXTENDED
`SPI
`TABLE
`
`~~--------------------~
`o
`0::
`IJ...
`"-g
`
`IUNKNOWN
`
`MOTION
`STANDARD OLE INTERFACES
`CONTROL
`EXTENDED INTERFACES
`EXTENDED UIINTERFACES DRIVER STUB
`
`36
`
`(yUNKNOWN
`STANDARD OLE INTERFACES
`MOTION
`CORE INTERFACES
`CONTROL
`EXTENDED INTERFACES
`DRIVER 8
`EXTENDED UI INTERFACES
`HARI§WARE
`CODE GENERATION INTERFACES
`LANGUAGE
`VENDOR SPECIFIC INTERFACES DEPENDENT
`
`30b
`
`TO/FROM FIG. IE
`
`Page 4 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 3 of 64
`
`5,867,385
`
`FIG. Ie
`
`~
`}
`
`CD
`
`l!5
`lL.
`~ o
`0::
`lL.
`'-g
`
`I ,
`
`I
`J
`
`/
`?UNKNOWN
`.1,
`STAND4RD OLE INTERFACESc)... MOTION
`CORE INTERFACESo- CONTROL
`DRIVERC
`EXTENDED INTERFACES 0- HARDWARE
`EXTENDED UllNTERFACESo-
`C
`CODE GENERATION INTERFACESo- LANGUAGE
`VENDOR SPECIFIC INTERFACESo- DEPENDENT
`
`30c
`
`V -L."
`
`TO/FROM FIG. IF
`
`Page 5 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 4 of 64
`
`5,867,385
`
`FIG. ID
`..,...
`
`~,.....
`
`TO/FROM FIG
`
`IA
`
`I~NKNOWN
`
`'V
`ISTREAM6- MOTION CONTROL
`TEXT FILE
`STREAM
`28d J
`TEXT
`COMMUN ICATION
`PROTOCOL
`
`\t , -~
`
`T
`
`I¥NKNOWN
`
`.
`III
`ISTREAM >- MOTION CONTROL
`PC BUS
`STREAM
`PC BUS
`COMMUNICATION
`PROTOCOL
`
`r
`
`280 J
`
`OUTPUT FILE
`34~
`
`PERSONAL COMPUTER HARDWARE BUS
`I
`PERSONAL COMPUTER HARDWARE
`
`160---
`
`18a---
`
`~
`
`200---1-
`
`,f
`I I
`~ '\
`HARDWAlE ~
`CONTROLLER A~ ____
`\
`\
`~
`
`I
`
`I
`
`MECHANICAL
`SYSTEM A
`
`I
`I
`MOTION CONTROL
`DEVICE A
`
`Page 6 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 5 of 64
`
`5,867,385
`
`FIG. IE
`
`TO/FROM FIG. I B
`
`T
`
`I¥NKNOWN
`
`ISTREAM )- MOTION CONTROL
`PC BUS
`STREAM
`PC BUS
`28b~ -
`COMMUN ICAllON
`PROTOCOL
`
`t
`J
`
`I
`J
`
`J
`
`,
`
`16b--
`
`18b-----
`
`-
`
`2Ob-----
`
`i
`I II
`~ )/
`
`"--L
`
`HARDWARE
`CONTROLLER B"" _____
`\
`\
`~
`
`MECHANICAL
`SYSTEM A
`
`I
`I
`MOTION CONTROL
`DEVICE B
`
`Page 7 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 6 of 64
`
`5,867,385
`
`FIG. IF
`
`,~
`
`TO/FROM FIG. IC
`T
`IUNKNOWN
`\ Y
`I STREAM )- MOTION CONTROL
`HARDWAREC
`PC BUS STREAM
`28c~ SPECIAL PC BUS
`COMMUNICATION
`PROTOCOL FOR
`HARDWAREC
`
`,
`
`,
`"
`
`l .
`
`16c-
`
`I--
`
`~I-
`
`18c -------
`
`20c -----l-
`
`,/
`1 Tl r
`
`- !) 14
`
`~ /7 ~
`HARDWARE
`CONTROLLER C~
`-,
`\
`\
`~
`
`MECHANICAL
`SYSTEM A
`
`I
`I
`MOTION CONTROL
`DEVICE C
`
`Page 8 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 7 of 64
`
`5,867,385
`
`FIG. 2 Module Interaction-Map
`26
`,-----~-----------------------------------
`VB APPLICATION
`
`IUnknown
`
`DRIVER
`ADMIN.
`
`IXMC xxxAPI
`
`34
`
`IUnknown
`
`.f
`....
`............. ., ..
`.'
`"
`COMPONENT
`
`IUnknown
`
`DRIVgR
`STUB
`
`36
`
`IUnknown
`
`DRIVER ..................................................................... _ ... ....
`
`30
`
`Page 9 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 8 of 64
`
`5,867,385
`
`FIG. 3 Object Interaction-Map 32 \.---'-----...
`
`IUnknown
`
`IXMC xxxAPI
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`BCW APP. J etc.
`
`42
`
`IUnknown
`
`------. ...
`
`IXMC xxxAPI
`
`34
`...................................
`.........
`
`CCmpntDisp' +-___ ----+
`
`34a
`
`34b
`
`CDriverMgr
`
`CDriver
`
`34c
`
`34d
`
`~
`I . • I . I
`I " "
`
`---".-,,' "
`
`IUnknown
`
`DRIVER
`STUB
`
`IUnknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 10 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 9 of 64
`
`5,867,385
`
`FIG. 4 Scenario Map - Initialization
`IXMC xxxAPI
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`IUnknown
`
`~----
`DRIVER
`ADMIN.
`
`32
`
`BCW APP., etc.
`
`IXMC xxxAPI
`
`34
`
`...................
`
`34a
`
`34c
`
`42
`
`~
`J , ,
`C!f
`COMPONENT --_/
`
`IUnknown
`
`.'
`
`5
`
`....................
`
`1--+ CDriverAdmin
`34e
`
`IXMC
`
`IUnknown
`
`DRIVER
`STUB
`
`IUnknown
`
`36
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 11 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 10 of 64
`
`5,867,385
`
`FIG. 5 Scenario Map - Core SPI Operation
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`BCW APP., etc.
`
`IUnknown
`
`IXMC xxxAPI
`
`34
`
`...................
`
`34a
`
`34c
`
`34d
`
`..........................................
`
`34e
`
`IUnknown
`
`DRIVER
`
`30
`
`Page 12 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 11 of 64
`
`5,867,385
`
`FIG. 6 Scenario-Map - Unit Mapping
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`BCW APP., etc.
`
`_mum ____ m_m ______ 1ml-ul-~-~-~~~w nP C S Mea s u rem en Is
`
`IXMC xxxAPI
`
`34
`........................................
`.. '
`
`34a
`
`r-----...., ...
`
`..........•...............................
`
`PCS Measurements
`34e
`
`34c
`MCS-(cid:173)
`Mea sure me nts L+-+----+------I
`
`M C S _---' __ --II--'
`Measurements
`IXMC
`
`DRIVER
`STUB
`
`36
`
`IUnknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 13 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 12 of 64
`
`5,867,385
`
`FIG. 7 Scenario-Map - Extended SPI Operation
`
`26
`r---~-------------------------------------
`VB APPLICATION
`VC++ APPLICATION
`BCW APP., etc.
`
`IUnknown
`
`IXMC xxxAPI
`
`..................
`, ...
`
`.. --
`
`34c
`
`34d
`
`..........................................
`
`34e
`
`IXMC
`
`IUnknown
`
`DRIVER
`STUB
`
`Page 14 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 13 of 64
`
`5,867,385
`
`FIG. 8 Scenario-Map - Clean-up.
`
`26
`r---~-------------------------------------
`VB APPLICATION
`
`42
`
`~ . , ,
`(!j'
`COM PO N E N T __ ---'
`._---to ••
`
`IU nknown
`
`•
`
`IXMC xxxAPI
`
`34
`............................................
`
`34a
`
`34c
`
`........................................
`
`IXMC
`
`IUnknown
`
`DRIVER
`STUB
`
`IU nknown
`
`36
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 15 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 14 of 64
`
`5,867,385
`
`FIG. 9 Interface-Map
`
`IUnknown
`l CComponentOjbect 9
`./'\
`Standard OLE 2.0 Interface
`(implemented by MFC)
`
`ICla ssFactory 0- /Standard OLE 2.0 Interface
`\ (im pI. by M FC and AFX basecode)
`
`IDispatch 0- /Standard OLE 2.0 Interface
`
`generated code)
`
`1\ (impl. by MFC and ClassWizard
`API Interfaces ] -----------------------------
`I
`I
`
`IXM
`C_API_1 0- VXMCAPI Interface #1
`r\.
`IXM
`C_API_2 0- VXM CAP I Interface #2
`t\-
`
`O
`0
`0
`IXM
`C_API_n 0- VXMCAPllnterface #n
`~
`
`J
`
`Page 16 of 165
`
`

`

`.S! CD riverS PITa b Ie J------r.==::==::::=:==-==::==~::::::=:================:===-l
`-g
`f struct DRVEXT_INTERFACE_INFO
`MAP INFO
`f{
`~
`enum DRVEXT _Xn_INTERFACEIDS I enum DRVEXT _Xn_METHODIDS
`~
`()
`!
`!
`:E
`><
`f
`.J:
`;
`f
`~
`I
`'§
`DRVEXT Xn INTERFACEn
`rn }
`-
`-
`.'
`rn
`n:s -(.)
`CD > ,-
`L-
`C
`()
`o
`~
`•
`
`{
`
`DRVEXT Xn INTERFACE1
`DRVEXT - Xn -INTERFACE2
`-
`-
`
`L-
`
`IIXMC_DrvExt_X1 I
`
`'/,./., ... / .. /
`
`j
`
`~
`
`tn
`QO
`~
`t"-(cid:173)
`\,C
`QO
`~ tn
`
`It)
`
`"'T
`\C
`<:0-. o
`~ ..... Q)
`Q) -=
`
`rJJ
`
`0'\
`0'\
`0'\
`~
`~f
`,Q
`Q)
`~
`
`~ = ~
`
`~
`~
`~
`•
`00.
`•
`~
`
`}
`
`(!) -u.
`
`{
`
`}
`
`DRVEXT Xn METHOD1
`-
`-
`DRVEXT Xn METHOD2
`-
`-
`
`DRVEXT Xn METHODn
`-
`-
`
`IM~thOd I~fo _ 1 I
`./ . . . . - - - - - - - - - - - - - - - ,
`\ Methodlnfo_2\
`,.../ struct DRVEXT _METHOD_INFO
`o
`/.""
`{
`o
`.. /
`o
`XMC SUPPORTTYPE m st;
`CStri~g
`m_strNa~e;
`I Methodlnfo_n I
`.
`LPFNDRVEXT m_pfnMethod;
`'.
`
`.•....•.•.
`
`}
`
`IIXMC_DrvExt_X2 I
`o
`o
`o
`IIXMC_DrvE~t~~ I
`
`..........
`.. '
`
`......
`
`..........................................
`
`}
`
`Page 17 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 16 of 64
`
`5,867,385
`
`FIG. 11 Module Interaction-Map
`32
`
`IUnknown
`
`IUnknown
`
`IXMC xxxAPI
`
`IUnknown
`
`42
`
`~~---------------+
`---(----
`
`DRIVER
`
`IXMC xxxUDSPI
`
`IUnknown
`
`STREAM
`
`Page 18 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 17 of 64
`
`5,867,385
`
`FIG. 12 Object Interaction-Map
`32
`IXMC xxxAPI
`
`I Unknown
`
`IXMC xxxAPI
`
`......
`................................................
`
`IXMC xxxUDSPI
`
`IUnknown
`
`STREAM
`
`Page 19 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 18 of 64
`
`5,867,385
`
`FIG. 13 Scenario-Map - Registration
`32
`IUnknown
`
`DRIVER
`ADMIN.
`
`FIG. 14 Scenario-Map -Init. by Driver Admin.
`32
`I Unknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`I Unknown
`
`DRIVER
`
`.......
`...............
`........
`
`Page 20 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 19 of 64
`
`5,867,385
`
`FI G. 15 Scenario-Map - Adding a Stream
`32
`IUnknown
`CLSID
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`(of the stream)
`:{
`1
`
`IUnknown
`
`DRIVER
`
`FIG. 16 Scenario-Map - Query Operation
`IUnknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`IUnknown
`
`DRIVER
`
`IUnknown
`
`STREAM
`
`Page 21 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 20 of 64
`
`5,867,385
`
`FIG. 17 Scenario-Map - Clean-Up by
`Orv. Admin.
`32
`IUnknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN.
`
`IUnknown
`
`DRIVER
`..... r-----,:
`..........
`....................
`r----t----:-
`
`.....
`.............................
`
`FIG. 18 Scenario-Map - Init. by Component
`34
`IUnknown
`
`IXMC xxxAPI
`
`COMPONENT
`
`IXMC
`
`IUnknown
`
`DRIVER
`........... ....... .----~
`
`CCommandList 9 _,~ ......
`
`30k
`
`IXMC
`
`IUnknown
`
`28
`
`Page 22 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 21 of 64
`
`5,867,385
`
`FIG. 19 Scenario-Map - Command Operations
`IUnknown
`
`IXMC xxxAPI
`
`OMPONENT
`
`IUnknown
`
`DRIVER
`
`...........................
`
`IUnknown
`
`STREAM
`
`28
`
`Page 23 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 22 of 64
`
`5,867,385
`
`FIG. 20 Scenario-Map - Clean-up by
`Component
`
`IUnknown
`
`IXMC xxxAPI
`
`IUnknown
`
`DRIVER
`
`.................. ··3···0·· .. •··· .. · ............ _ .... _. --:::::t-----+-'
`...................................
`
`IUnknown
`
`STREAM
`
`28
`
`Page 24 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 23 of 64
`
`5,867,385
`
`FIG. 21 Interface-Map
`IUnknown
`
`CDriverObject
`
`IClassFactory
`
`IXMC DrvCore
`StaticState
`
`IXMC DrvCore
`-
`-
`DynamicState
`
`IXMC DrvCore
`-
`-
`SPI 3
`
`IXMC DrvCore
`-
`-
`SPI n
`
`IXMC DrvExt
`-
`-
`StreamMgmt
`IXMC DrvExt
`-
`-
`SPI2
`
`IXMC DrvExt
`SPI n
`
`XMCSPJ Core Interface #3
`
`o
`8
`XMCSPI Core Interface #n
`......... -----------r--------------
`SPI Extended Interfaces
`
`XMCSPI Extended Interface #2
`o
`8
`XMCSPI Extended Interface #n
`
`Page 25 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 24 of 64
`
`5,867,385
`
`FIG. 22 Module Interaction-Map
`32
`
`IXMC xxxAPI
`
`30
`
`IUnknown
`
`IUnknown
`DRIVER
`ADMIN.
`
`IXMC xxxSPI
`
`IUnknown
`
`42~IXMC_XXXUDSPI
`EGISTRY +---+-
`
`STREAM
`
`~I---
`
`28
`
`Win31:
`
`Page 26 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 25 of 64
`
`5,867,385
`
`FIG. 23 Object Interaction-Map
`IXMC xxxAPl
`
`I Unknown
`
`30
`
`I Unknown
`
`IXMC_xxxSPI
`
`I Unknown
`
`IXMC xxxUDSPI
`............ ·· .. ···· .. 28··1'-~~-=-=:-···
`....................... _._----'
`
`"---"'"
`
`rv'IIn95
`r ware
`
`Page 27 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 26 of 64
`
`5,867,385
`
`FIG. 24 Scenario-Map -Initialization
`IUnknown
`
`IUnknown
`
`STREAM
`
`.r-----, ..
`'-t-----' ".
`1 " - - -1 - - - - .•... ......
`.....
`
`CRegistryMgr
`
`r"'in95
`
`Page 28 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 27 of 64
`
`5,867,385
`
`FIG. 25 Scenario-Map - Registration
`3
`IUnkno\M1
`
`IXrv1C xxxAPl
`
`DRIVER
`ADMIN.
`
`IUnkno\M1
`
`,;--------, IXMC xxxUDSPI
`\+ - - - ( 2 } - - - - - t
`
`FIG. 26 Scenario-Map - Setup
`IXMC xxxAPI
`1
`
`IUnknown
`DRIVER
`ADMIN.
`
`32
`
`IXMC xxxUDSPI
`....... ·· .. ······· .. ·28·· ~ ..... =-=. =I=~ .... ..... .
`.
`........................
`
`~
`
`. ...... .
`
`Page 29 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 28 of 64
`
`5,867,385
`
`FIG. 27 Scenario-Map - Clean-up
`
`IXMC xxxAPI
`
`IUnknown
`DRIVER
`ADMIN.
`
`32
`
`..... I~.~.~ ... ~_ .... _ .. ~_.:_:._:_I ... _2'_. ---...L-+-----I •••.•.•..•• ~
`
`CRegistryMgr
`
`FIG. 28 Scenario-Map - Initialization (Drv)
`30
`IUnknown
`
`IXMC_xxxSPI
`
`IXMC xxxUDSPI
`
`.............. _ .... _ - - - - - \
`
`......
`....
`
`42
`
`~
`
`CRegistryMgr
`
`28k
`
`CIOHAL
`NT3.5 Wing5 Win3.1
`
`Page 30 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 29 of 64
`
`5,867,385
`
`FIG. 29 Scenario-Map - Opening the Stream
`
`IUnknown
`
`IXMC xxxSPI
`
`IUnknown
`
`STREAM
`IXMC xxxUDSPI
`.... ········ .. ···28·· ...... ~---' ............ .
`.............................
`. .....
`
`Page 31 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 30 of 64
`
`5,867,385
`
`FIG. 30 Scenario-Map - Writing Data
`
`IUnknown
`
`IXMC xxxSPI
`
`IUnknown
`
`STREAM
`IXMC _xxxUDSPI
`. ...
`...
`...... r------r.
`··· .. ·28 J-.-,~--
`........................................
`
`. ............ .
`
`Page 32 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 31 of 64
`
`5,867,385
`
`FIG. 31 Scenario-Map - Reading Data
`
`30
`IXMC_xxxSPI
`
`IUnknown
`
`IUnknown
`
`STREAM
`IXMC xxxUDSPI
`··· .. ··28··1--,../----, '.
`.......................................
`. ......... .
`
`...... r - - - - r ..... .
`
`Page 33 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 32 of 64
`
`5,867,385
`
`FIG. 32 Scenario-Map - Clean-up (Drv)
`
`30
`
`IUnknown
`
`IXMC xxxSPI
`
`IUnknown
`
`IXMC xxxUDSPI
`...... ········ .. ··28 J--.-.,-I---- .•..
`. ...... .
`.......
`.....................
`. ..
`
`L....+---I •....
`
`.. '
`
`Page 34 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 33 of 64
`
`5,867,385
`
`FIG. 33 Interface-Map
`CStreamObject
`
`I Unknown
`
`IClassFactory
`
`"""===-=---:-:---=---~-:"'I ••••• _ ••••••••••••••
`SPI - UnDocumented
`
`IXMC Stream
`
`ead, Write, Enable, Stat, IsEnabled
`
`IXMC Stream I nit
`
`nitialize, Open, Close, Setup,
`Stat, CreateStream
`
`FIG. 34 Module Interaction-Map.
`IUnknown
`
`IXMC xxxAPI
`
`OMPONENT
`
`IXMC xxxSPI
`
`36
`
`IUnknown
`
`D:i~~R .................. >~
`
`42
`
`IUnknown
`
`DRIVER
`
`30
`
`Page 35 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 34 of 64
`
`5,867,385
`
`FIG. 35 Object Interaction-Map
`IUnknown
`
`IXMC xxxAPI
`
`IXMC DrvExt
`
`42
`
`----. ...... +---+~
`
`...............................
`
`IUnknown
`
`DRIVER
`
`30
`
`Page 36 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 35 of 64
`
`5,867,385
`
`FIG. 36 Scenario-Map - Initialization
`34
`IUnknown
`
`IXMC xxxAPI
`
`IUnknown
`
`IXMC DrvEx
`xxxSPI
`
`CLSID
`(of Driver) --,.~_-I
`
`of Driver)
`
`IXMC
`
`Page 37 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 36 of 64
`
`5,867,385
`
`FIG. 37 Scenario-Map - Operations
`34
`IUnknown
`
`IXMC xxxAPI
`
`OMPONENT
`
`IXMC DrvExt
`
`...............................
`
`IXMC
`
`Page 38 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 37 of 64
`
`5,867,385
`
`FIG. 38 Scenario-Map - Clean-up
`34
`IUnknown
`
`IXMC xxxAPI
`
`IXMC DrvExt
`xxxSPI
`36
`
`-
`
`DRIVER
`STUB
`
`...............................
`
`IUnknown
`
`IXMC xxxSPI
`
`Page 39 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 38 of 64
`
`5,867,385
`
`FIG. 39 Interface-Map
`l CDriverStubObject I 9 I Unknown
`
`/\
`Standard OLE 2.0 Interface
`(Implemented by MFC)
`IClas sFactoryo- /Standard OLE 2.0 Interface
`~Impl. by MFC and AFX basecode)
`
`-------------
`Stub Specific Interfaces I
`
`IXMC DNStubo-< RegisterDriver, UnRegisterDriver I
`SPI Extended Interfaces 1-------------
`I
`I
`
`IXMC
`-
`SPI 1
`IXMC
`DNExt
`-
`SPI2
`
`DNExt
`
`/ XMCSPI Extended Interface #1
`0- '\
`0-~ XMCSPI Extended Interface #2
`0
`8
`0-~XMCSPI Extended Interface #n
`
`DNExt
`
`IXMC
`SPI n
`
`I
`
`Page 40 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 39 of 64
`
`5,867,385
`
`FIG. 40 Module Interaction-Map
`34
`IUnknown
`pDriverlnfoMap
`IXMC xxxAPI
`
`38
`
`river, ~
`pDriverlnfo,
`hStream,
`pStreamlnfo
`IXMC xxxAPI
`32
`
`pDrv~num '__ ___ _
`
`IUnknown
`
`DRIVER
`ADMIN.
`
`IUnknown
`
`IUnknown
`
`DRIVER
`
`IXMC
`
`IXMC
`xxxSPI
`30
`
`Page 41 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 40 of 64
`
`5,867,385
`
`FIG. 41 Object Interaction-Map
`34
`DRIVER
`pDriverlnfoMap
`ADMIN. CPL ~ IXMC_xxxAPI
`L..-_~ __ ----' --r-+
`h Drive r
`38
`hDriver,
`pDrvlnfo,
`hStream,
`pStrm Info
`
`IUnknown
`
`42
`IUnknown ~
`~------__ REG(STRY
`DRIVER
`ADMIN.
`
`.........................
`......................
`
`. .......... .
`.................
`
`rr.in;:i~;:A";~r;::;r~~--~C Drive rl n fo M a
`32b
`
`32c
`
`CSimpleDriver
`
`C S im pieD river
`
`IU nknown
`
`DRIVER
`
`IXMC -
`xxxSPI
`
`30
`
`IUnknown
`
`STREAM
`
`IXMC
`-
`UDxxxSPI
`28
`
`Page 42 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 41 of 64
`
`5,867,385
`
`FIG. 42 Scenario-Map -Initialization
`34
`IUnknown
`
`COMPONEN
`
`42
`IUnknown ~
`~--------, ~
`DRIVER
`ADMIN. .....
`
`............................
`
`DRIVER
`ADMIN. CPL
`
`38
`
`IXMC_xxxAPI
`32
`
`.........
`....
`.....
`
`32c
`
`C S im pieD river
`
`C S im pieD river
`
`IXMC -
`xxxS P I
`
`30
`
`DRIVER
`
`Page 43 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 42 of 64
`
`5,867,385
`
`FIG. 43 Scenario-Map - Registering a Driver
`pDriverl nfoMap
`
`DRIVER
`ADMIN. CPL
`
`IUnknown
`
`38
`
`CSimpleDriver
`
`IUnknown
`
`IXMC xxxSPI
`
`Page 44 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 43 of 64
`
`5,867,385
`
`FIG. 44 Scenario-Map - Registering a Stream
`DRIVER
`ADMIN. CPL
`pDriverCLSID,
`1 ~IPszStreamFileName
`38 pDriverlnfoMa~
`
`IUnknown S
`
`REG STRY
`
`IXMC xxxAPI
`32
`...........................................
`
`. .......................... .
`
`CSimpleDriver
`32df
`
`IUnknown
`
`IUnknown
`
`IXMC -
`xxxSPI
`
`IXMC
`
`Page 45 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 44 of 64
`
`5,867,385
`
`FIG. 45 Scenario-Map - Setting Driver Info.
`IUnknown
`32
`IXMC xxxAPI
`hDriver,
`DRIVER
`ADMIN. CPL pDrvlnfo
`~ ..................... .
`......... " .....
`.............................
`.------(
`
`38
`
`CSimpleDriver
`
`CSimpleDriver
`
`IUnknown
`
`IXMC xxxSPI
`
`Page 46 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 45 of 64
`
`5,867,385
`
`FIG. 46 Scenario-Map - Setting Stream Info.
`DRIVER
`ADMIN. CPL
`
`~ hDriver,hStream,pDriverlnfo
`
`38
`
`IUnknown
`
`.....
`
`............................
`
`CSimpleOriver
`
`CSimpleOriver
`
`CSim pleOriver
`32d
`
`IUnknown
`
`IXMC UDxxxSPI
`
`STREAM
`
`Page 47 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 46 of 64
`
`5,867,385
`
`FIG. 47 Scenario-Map - Querying Driver Enum.
`IUnknown
`
`IXMC -
`xxxAPI
`
`xxxAPI
`
`pDriverEnum
`~
`hDnver
`........................... .
`....................
`....
`
`...........
`
`IUnknown
`
`DRIVER
`ADMIN.
`
`. ....
`
`CSimpleOriver
`
`CSimpleOriver
`
`CSimpleOriver
`
`IUnknown
`
`IXMC xxxSPI
`
`DRIVER
`
`30
`
`Page 48 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 47 of 64
`
`5,867,385
`
`FIG. 48 Scenario-Map - Querying Drv Info. Map
`DRIVER
`ADMIN. CPL
`
`~pDrvlnfoMap
`
`38
`
`....
`
`IUnknown
`
`............................
`
`IUnknown
`
`IXMC -
`xxxSPI
`
`307-----
`
`STREAM
`
`Page 49 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 48 of 64
`
`5,867,385
`
`FIG. 49 Scenario-Map - Clean-up
`34
`IUnknown
`
`IXMC xxxAPI
`
`DRIVER
`ADMIN. CPL
`
`38
`
`IXMC xxxAPI
`32
`
`42
`IUnknown ~ REGSTRY
`
`"--!:1===:::::!...-I ....•... ....................
`
`IUnknown
`
`DRIVER
`
`IXMC -
`xxxSPI
`
`30
`
`IXMC
`-
`UDxxxSPI
`
`STREAM
`
`Page 50 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 49 of 64
`
`5,867,385
`
`FIG. 50 Interface-Map.
`IUnknown
`CDriverAdminOjbectl--:,~ ________ --,
`
`IClassFactory
`
`Standard OLE 2.0 Interface
`(Imp/. by MFC and AFX basecode)
`
`IDispatch
`
`Standard OLE 2.0 Interface
`(Imp/. by MFC and ClassWizard
`generated code)
`I Specific Std. Interfacesl u __ uuuuuu
`
`Standard IEnumX OLE 2.0 Interfac
`
`IXMC
`
`IXMC_
`
`EnableLogging, IsLoggingOn,
`EnableDiagnosticTesting,
`IsDiagnosticTestingOn,
`SetLogg ingStream
`
`Page 51 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 50 of 64
`
`5,867,385
`
`FIG. 51 Module Interaction-Map
`42
`~
`
`48
`
`river,
`
`pDriver-t I PDriverlnfoSO
`InfoMap I ~hStream,
`pStrmlnfo
`
`DIALOG
`C--O-K-)@-~-n-ce-D
`
`38
`
`DRIVER
`ADMIN. CPL
`
`L..----..,.,.p"\riverlnfoMap I
`
`hDriver,pDriverlnfo,hStream,
`pStrmlnfo
`IUnknown
`
`IXMC xxxAPI
`
`32
`
`DRIVER
`ADMIN.
`
`Page 52 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 51 of 64
`
`5,867,385
`
`FIG. 52 Object Interaction-Map
`
`38b"\..
`
`pDriver hDriver,
`Info- t pDriverlnfo,
`Map I hStream,
`pStrmlnfo
`38d
`
`CComCPL
`
`hDriver,
`PDriverlnfol
`hStream,
`pStream Info
`
`,\pDriverlnfoMap
`\
`hDriver,
`pDriverlnfo, -------"-~\ \
`Unknown.,
`hStream,
`"
`pStreamlnfo
`DRIVER .. '
`ADMIN.
`
`Windows
`51.1
`
`Page 53 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 52 of 64
`
`5,867,385
`
`FIG. 53 Scenario-Map - Initializing the App.
`42
`
`38k
`
`1
`
`Windows
`51;-
`
`Unknown
`
`DRIVER
`ADMIN.
`
`IXMC
`
`32
`
`Page 54 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 53 of 64
`
`5,867,385
`
`FIG. 54 Scenario-Map - Main Dialog Init.
`38
`
`river mln(cid:173)
`Dialog
`C--O-K-)@---a-nc-eD
`
`pDriverlnfOMap\ 1
`
`32
`
`Page 55 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 54 of 64
`
`5,867,385
`
`FIG. 55 Scenario-Map - Adding a Driver
`38
`
`DriverAdminDI
`
`( OK )@ance))
`
`DRIVER
`ADMIN.
`
`32
`
`FIG. 58 Module Interaction-Map
`IUnknown
`
`ICOM xxx
`IXMC xxxAPI
`
`MOTION
`COMPONENT
`
`IUnknown
`
`LANGUAGE
`DRIVER
`
`ICOM xxx
`ILNG-xxx
`IXMC xxxSPI,"~_
`f " - - - - - - /
`52
`ICOM xxx
`IXMC xxxUDSPI
`28
`
`IUnknown
`
`DRIVER
`ADMIN.
`
`IUnknown
`
`Page 56 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 55 of 64
`
`5,867,385
`
`FIG. 56 Scenario-Map - Removing a Driver
`38
`
`hDriver, I
`hStream,*, 2
`
`Unknown
`
`DRIVER
`ADMIN.
`
`IXMC
`
`32
`
`FIG. 57 Scenario-Map - View Support
`38
`
`D riverAd m in(cid:173)
`Dialog
`C--O-K-)~~a-n-ce-D
`
`lew upport(cid:173)
`Dialog
`C--O-K-)(C~a-n-ce-D
`
`32
`
`Page 57 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 56 of 64
`
`5,867,385
`
`FIG. 59 Object Interaction-Map
`I Unknown
`
`I Unknown
`DRIVER
`ADMIN.
`
`IUnknown
`lANGUAGE
`DRIVER
`,.,....------, .......
`
`ICOM xxx
`I LNG-xxx
`IXMC xxXSPI
`............. :···· .. · .. ··· .. ··52
`
`....................................................
`
`ICOM xxx
`IXMC xxxUDsPI
`28
`
`Page 58 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 57 of 64
`
`5,867,385
`
`FIG. 60 Scenario-Map -Init. by Orv. Admin.
`
`ICOM xxx
`IXMC-API
`
`I Unknown
`
`DRIVER
`ADMIN.
`
`ICOM xxx
`I LNG-xxx
`IXMC xxX"SPI
`....... ....... ····· .. ······ .. ····52
`
`....................................................
`
`Page 59 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet S8 of 64
`
`5,867,385
`
`FIG. 61 Scenario-Map - Adding a Stream
`32
`IUnknown
`DRIVER
`ADMIN.
`
`ICOM xxx
`IXMC-API
`
`ICOM xxx
`ILNG-xxx
`IXMC_xxxSPI
`.'
`.................. ······52 ')C..2:=~'--.,) ................................................... .
`.... , ...
`
`6
`
`521
`
`ICOM xxx
`IXMC xxxUDSPI
`28
`
`ICSimpleStream I
`o
`o
`o
`CSimpleStream
`
`IUnknown
`
`Page 60 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet S9 of 64
`
`5,867,385
`
`FIG. 62 Scenario-Map - Query Operation
`32
`IUnknown
`
`ICOM xxx
`IXMC-API
`
`DRIVER
`ADMIN.
`
`ICOM xxx
`I LNG-xxx
`IXMC xxxSPI
`-
`··············52
`...........
`........
`
`SPI
`DATABASE
`
`.....................................................
`
`CSimpleStream
`521
`o
`o
`CSimpleStream
`..........................................
`
`Page 61 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 60 of 64
`
`5,867,385
`
`FIG. 63 Scenario-Map - Registration loading
`32
`
`ICOM xxx
`IXMC-API
`
`IUnknown
`DRIVER
`ADMIN.
`
`ICOM xxx
`ILNG-xxx
`IXMC xxxSPI
`········· .. ···52~=~~················ .. ··· .... ······· .................... .
`-
`.....................
`53
`
`SPI
`DATABASE
`
`; ICSimpleStream I
`:
`0
`:
`0
`o
`
`ICOM xxx
`IXMC xxxUDSPI
`28
`
`Page 62 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 61 of 64
`
`5,867,385
`
`FIG. 64 Scenario-Nlap - Clean-up
`I Unknown
`
`ICOIVI xxx
`IXMCAPI
`
`I Unknown
`DRIVER
`ADI\I1IN.
`
`....................................................
`
`52e
`
`ICOIVI xxx
`I LNG-xxx
`IXMC_xxxSPI
`..................... ············5
`
`CSill1JleStream
`521
`o
`o
`
`Page 63 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 62 of 64
`
`5,867,385
`
`FIG. 65 Scenario-Nlap - Command Operation
`I Unknown
`
`ICOM xxx
`IXMC xxXAPl
`
`MOTION
`COMPONENT
`
`ICOM xxx
`I LNG-xxx
`IXMC xxxSPI
`-
`············5
`.....................
`
`................................................
`. ....
`
`ICOM xxx
`IXMC xxxUDSPI
`28
`
`STREAM
`
`Page 64 of 165
`
`

`

`u.s. Patent
`
`Feb. 2, 1999
`
`Sheet 63 of 64
`
`5,867,385
`
`FIG. 66 Interface-Map
`IUnknown
`leo riverO bject
`~
`/\.
`Standard OLE 2.0 Interface
`(Implemented by MFC)
`IClas sF acto ry cr- VStandard OLE 2.0 Interface
`I\pmpl. by MFC and AFX basecode)
`,---------------------
`
`COM Interfaces
`
`ICOM _Base20-
`
`Vlnitialize, Unlnitialize, GetErrString,
`I\GetStateHandle, SetStateHandle
`
`ICOM Persist20-
`
`KGetID, GetModuleType, GetClasslD/
`
`cr-
`IC
`OM_
`P ersistRegDB
`
`I
`LNG_
`D
`rvCore
`
`,Q-
`Init
`
`I
`VLoad, Save, Clear, IsDirty
`\.
`- ... _------
`Language Driver Interfaces I
`VCreate, Destroy, Setup, Stat,
`1\ Register, Unregister, IsRegistered,
`Enable, IsEnabled
`
`ILNG
`_DrvExt_o-
`Strea
`mMgmt
`
`VAddStream, RemoveStream,
`l~emoveAIiStreams, GetStrm Init,
`GetStrmlnitAt, GetStrmEnum.
`etStrea m C ou nt, E na bled Strm Only
`5 PIC 0 re In te rfa c es r--------------------
`SEE FIGU RE 21 (same interfaces)
`
`-------------
`SPI Extended Interfaces'
`SEE FIGURE 21 (same interfaces)
`
`Page 65 of 165
`
`

`

`I Response Data Types-
`
`Imp/. Method
`
`__ J
`I ~
`IFunction Type
`~t:.
`\NU_IMPL
`EXT - - - EMU[ATED
`----
`DIRECT
`
`I'/os - string
`'Iolf:-_double
`-- o;.lu = ULbNG or DWORD
`'Iou-WORD
`'Iod - int
`'lob = BOOl (lor 0)
`+ = continue previous type'
`
`- - - -
`
`l
`
`I
`
`- - - - - - -
`
`----------
`
`<Custom> SPI Database
`Date <date>
`Name <name>
`---Company ROY-G:BiV COrPoration----- ----
`Hardware <hardware>
`----- ----
`
`~- - - ~----- ----
`
`'NOTE: The '+' operator directs the parser to continue using the previous
`type untif either. a.) The end of the format string is reached, or b.) the next
`type changes from number to string or vice-versa.
`
`Command Data Types
`!los
`stTlng
`- - - - 'Iolf - double
`'Iolu - UlONG or DWORD
`%u=WbRD
`'Iod = int
`'lob = BOOl(1 or 0)
`+ = continue previous type'
`
`1=
`-----t-=--:- ------
`'~lrCVj
`------- @[ciT-
`---4
`I Cf!Illlj
`L ________
`I~crlf]
`-- -------
`(_ ---=
`IKeplace tfie ICustom::Foo entry With your own SPllnterface(s , save tneTtle as a I aD aellmltea text lite, ana Import just t e ::;t-'rdata of
`----.emu:
`I
`__
`---,
`- - - - - - - - -~~-~t filelnto your Resource File.
`I
`I
`_
`- - - - - - -
`NOTE: After copying the data below (between the COpy THIS DA TA and END OF COpy) into your xxx_cmdb.bin resource file, you MUST make sure
`that a 'IOxOa' character followed by a ~OxOd' character are at the vel}' beginning of the data. In other words, when copying the-aata koiii the (ex! ---- - - - - - - - - - -
`. - fiie;·MAKE-SURE to start your copy just after/he last '>'character in the ' ... » COpy fHiSDATA » .. .' text .
`
`--- Command Macros
`@[sndJ
`
`Response Macros
`
`----I
`
`HW Command Fmt
`Function Name
`HW Response Fmt
`Interface Name
`TYPE
`Index
`IMPLEMENTATION
`~~~~~~~r??~ ~~~~rt~J!~I:-1-~~~~?~' .?(~~a.t~l~bltfhiS,lm~>;2'1$ ~~~~~~~~~~~l'~~,~~~~~~~~~, ??~~~~~~~?~?~?~~~~~~?~~ ,~??,J"~~,~?,"~,?,?~~ ~~>'~~~~-l~~~i
`u
`I(.;U5IOm
`CAl
`11-00
`INOt-'@[sndj
`1@[rCvj
`IUIKt:t.;1
`I~~:<'$.~'S~~ __ ~-""Y1-H~
`!, .. ~r~'$,~~~1i
`
`..-.
`
`~
`
`tn
`~
`~
`t"-(cid:173)
`'-C
`~
`~ tn

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket