;
; Copyright (c) Microsoft Corporation.  All rights reserved.
;
; MSTape.INF -- 
;
;     This file contains installation information for IEEE 1394 Tape Subunit devices.
;
; Changes log:
;
;     Created 12-4-2000; support D-VHS device
;     4-25-2001: Install NULL driver for selective Panasonic subunit not yet supported.
;     6-22-2005: Use coinstaller to obtain model specific device name
;     01-16-2006 Reverting legacy devices' sections for app-compat
;

[Version]
Signature="$CHICAGO$"
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%Msft%
DriverVer=06/21/2006,6.1.7600.16385

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
mstape.sys 		= 3426

[ControlFlags]
; All PnP devices should be excluded from manual AddDevice Applet list
ExcludeFromSelect=*

[Manufacturer]
%Generic%=Generic,NTx86
%JVC%=JVC,NTx86
%Panasonic%=Panasonic,NTx86
%Sony%=Sony,NTx86

[DestinationDirs]
DefaultDestDir=11               ; LDID_SYS
MSTAPE.DelDrivers=10,system
MSTAPE.CopyDrivers=10,system32\drivers

;---------------------------------------------------------------
;                Generic 
;
;                      AV/C Tape Subunit
;---------------------------------------------------------------
[Generic.NTx86]
%AVC\Generic&TYP_4.DeviceDesc%=MSTape.Generic,AVC\TYP_4            ; AVC Compliant Tape subunit
%AVC\Generic&TYP_4.DeviceDesc%=MSTape.Generic,AVC\camcorder        ; Camcorder in camera mode

[MSTape.Generic.NT]
Include=    ks.inf, kscaptur.inf
Needs=      KS.Registration,KSCAPTUR.Registration.NT
AddReg=     MSTAPE.AddReg,MSTAPE.PinNames,MSTAPE.PlugIns
CopyFiles=  MSTAPE.CopyDrivers

; to expose non-generic device name via coinstaller
PreferDeviceInfo=1

[MSTape.Generic.NT.HW]
AddReg=MSTAPE_AddFilter_NT

[MSTape.Generic.NT.CoInstallers]
AddReg=MMCICO.AddReg

[MMCICO.AddReg]
HKR,,CoInstallers32,0x00010000,"mmcico.dll,MediaClassCoInstaller"

[MSTape.Generic.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO%,GLOBAL,     MSTape.Generic.Interface
AddInterface=%KSCATEGORY_CAPTURE%,GLOBAL,   MSTape.Generic.Interface
AddInterface=%KSCATEGORY_RENDER%,GLOBAL,    MSTape.Generic.Interface
AddInterface=%KSCATEGORY_RENDER_EXT%,GLOBAL,MSTape.Generic.Interface

[MSTape.Generic.Interface]
AddReg=MSTape.Generic.Intf.AddReg

[MSTape.Generic.Intf.AddReg]
HKR,,CLSID,,%ProxyVCap.CLSID%
HKR,,FriendlyName,,%MSTAPE.Capture%
HKR,,Description,, %MSTape.Capture%
HKR,,DeviceClassGUID,, %TapeDeviceGUID%


[MSTape.Generic.NT.Services]
AddService = MSTAPE,0x00000002,MSTAPE_ServiceInstall  ; 0x00000002 to indicate functional driver
AddService = AVCSTRM,,AVCSTRM_ServiceInstall

;---------------------------------------------------------------
;                J V C
;
;                      AV/C Tape Subunit
;---------------------------------------------------------------

[JVC.NTx86]
%AVC\VEN_VICTOR&TYP_4.DeviceDesc%=MSTAPE.JVC,AVC\VICTOR&TYP_4                          ; JVC Tape Device

[MSTAPE.JVC.NT]
Include=    ks.inf, kscaptur.inf
Needs=      KS.Registration,KSCAPTUR.Registration.NT
AddReg=     MSTAPE.AddReg,MSTAPE.PinNames,MSTAPE.PlugIns
CopyFiles=  MSTAPE.CopyDrivers

[MSTAPE.JVC.NT.HW]
AddReg=MSTAPE_AddFilter_NT

[MSTAPE.JVC.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO%,GLOBAL,     MSTAPE.JVC.Interface
AddInterface=%KSCATEGORY_CAPTURE%,GLOBAL,   MSTAPE.JVC.Interface
AddInterface=%KSCATEGORY_RENDER%,GLOBAL,    MSTAPE.JVC.Interface
AddInterface=%KSCATEGORY_RENDER_EXT%,GLOBAL,MSTAPE.JVC.Interface

[MSTAPE.JVC.Interface]
AddReg=MSTAPE.JVC.Intf.AddReg

[MSTAPE.JVC.Intf.AddReg]
HKR,,CLSID,,%ProxyVCap.CLSID%
HKR,,FriendlyName,,%MSTAPE.Capture%
HKR,,Description,, %MSTAPE.JVC.Capture%
HKR,,DeviceClassGUID,, %TapeDeviceGUID%


[MSTAPE.JVC.NT.Services]
AddService = MSTAPE,0x00000002,MSTAPE_ServiceInstall  ; 0x00000002 to indicate functional driver
AddService = AVCSTRM,,AVCSTRM_ServiceInstall


;---------------------------------------------------------------
;                P a n a s o n i c (M E I)
;
;                      AV/C Tape Subunit
;---------------------------------------------------------------

[Panasonic.NTx86]
%AVC\VEN_E05C&MOD_0&TYP_4&ID_0.DeviceDesc%=MSTAPE.MEI,AVC\VEN_E05C&MOD_0&TYP_4&ID_0           ; Support HD but has no buildin MPEG2 en/decoder
%AVC\Panasonic&TYP_4.DeviceDesc%=MSTAPE.MEI,AVC\Panasonic&TYP_4                               ; All Panasonic Tape subunit
; NULL device (AV/C tuner)
%AVC\VEN_E05C&MOD_0&TYP_5&ID_0.DeviceDesc%=NODRV,AVC\VEN_E05C&MOD_0&TYP_5&ID_0                ; No driver for AV/C Tuner so load NULL driver
%AVC\Panasonic&TYP_5.DeviceDesc%=NODRV,AVC\Panasonic&TYP_5                                    ; All Panasonic Tuner subunit to load NULL driver
; NULL device (AV/C Bulletin board)
%AVC\VEN_E05C&MOD_0&TYP_A&ID_0.DeviceDesc%=NODRV,AVC\VEN_E05C&MOD_0&TYP_A&ID_0                ; No driver for AV/C Bulletin board so load NULL driver
%AVC\Panasonic&TYP_A.DeviceDesc%=NODRV,AVC\Panasonic&TYP_A                                    ; All Panasonic Bulletin board subunit to load NULL driver

[MSTAPE.MEI.NT]
Include=    ks.inf, kscaptur.inf
Needs=      KS.Registration,KSCAPTUR.Registration.NT
AddReg=     MSTAPE.AddReg,MSTAPE.PinNames,MSTAPE.PlugIns
CopyFiles=  MSTAPE.CopyDrivers

[MSTAPE.MEI.NT.HW]
AddReg=MSTAPE_AddFilter_NT

[MSTAPE.MEI.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO%,GLOBAL,     MSTAPE.MEI.Interface
AddInterface=%KSCATEGORY_CAPTURE%,GLOBAL,   MSTAPE.MEI.Interface
AddInterface=%KSCATEGORY_RENDER%,GLOBAL,    MSTAPE.MEI.Interface
AddInterface=%KSCATEGORY_RENDER_EXT%,GLOBAL,MSTAPE.MEI.Interface

[MSTAPE.MEI.Interface]
AddReg=MSTAPE.MEI.Intf.AddReg

[MSTAPE.MEI.Intf.AddReg]
HKR,,CLSID,,%ProxyVCap.CLSID%
HKR,,FriendlyName,,%MSTAPE.Capture%
HKR,,Description,, %MSTAPE.MEI.Capture%
HKR,,DeviceClassGUID,, %TapeDeviceGUID%


[MSTAPE.MEI.NT.Services]
AddService = MSTAPE,0x00000002,MSTAPE_ServiceInstall  ; 0x00000002 to indicate functional driver
AddService = AVCSTRM,,AVCSTRM_ServiceInstall

[NODRV]

[NODRV.Services]
;
; this is blank to just allow the install to succeed
;
AddService = , 0x00000002   ; null service install

;---------------------------------------------------------------
;                S o n y
;
;                      AV/C Tape Subunit
;---------------------------------------------------------------

[Sony.NTx86]
%AVC\VEN_80046&MOD_0&TYP_4.DeviceDesc%=MSTAPE.Sony,AVC\Sony&MOD_0&TYP_4
%AVC\Sony&DCR-MVDVCR&CAMCORDER.DeviceDesc%=MSTAPE.Sony,AVC\Sony&DCR-MVDVCR&CAMCORDER  


[MSTAPE.Sony.NT]
Include=    ks.inf, kscaptur.inf
Needs=      KS.Registration,KSCAPTUR.Registration.NT
AddReg=     MSTAPE.AddReg,MSTAPE.PinNames,MSTAPE.PlugIns
CopyFiles=  MSTAPE.CopyDrivers

[MSTAPE.Sony.NT.HW]
AddReg=MSTAPE_AddFilter_NT

[MSTAPE.Sony.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO%,GLOBAL,     MSTAPE.Sony.Interface
AddInterface=%KSCATEGORY_CAPTURE%,GLOBAL,   MSTAPE.Sony.Interface
AddInterface=%KSCATEGORY_RENDER%,GLOBAL,    MSTAPE.Sony.Interface
AddInterface=%KSCATEGORY_RENDER_EXT%,GLOBAL,MSTAPE.Sony.Interface

[MSTAPE.Sony.Interface]
AddReg=MSTAPE.Sony.Intf.AddReg

[MSTAPE.Sony.Intf.AddReg]
HKR,,CLSID,,%ProxyVCap.CLSID%
HKR,,FriendlyName,,%MSTAPE.Capture%
HKR,,Description,, %MSTAPE.Sony.Capture%
HKR,,DeviceClassGUID,, %TapeDeviceGUID%


[MSTAPE.Sony.NT.Services]
AddService = MSTAPE,0x00000002,MSTAPE_ServiceInstall  ; 0x00000002 to indicate functional driver
AddService = AVCSTRM,,AVCSTRM_ServiceInstall
;---------------------------------------------------------------
;                C o m m o n     S e c t i o n s
;---------------------------------------------------------------

[MSTAPE.AddReg]
HKR,,OkToHibernate,3,01

[MSTAPE.PinNames]
; MPEG2TS pin name
HKLM,%MediaCategories%\%GUID.MPEG2TSOutput%,Name,,%Pin.MPEG2TSOutput%
HKLM,%MediaCategories%\%GUID.MPEG2TSOutput%,Display,1,00,00,00,00

HKLM,%MediaCategories%\%GUID.MPEG2TSInput%,Name,,%Pin.MPEG2TSInput%
HKLM,%MediaCategories%\%GUID.MPEG2TSInput%,Display,1,00,00,00,00


[MSTAPE.PlugIns]
; This IID is aggregated for the filter given the CLSID of the property set
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{B5730A90-1A2C-11cf-8C23-00AA006B6814},,,%PlugIn_IAMExtDevice%
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{B5730A90-1A2C-11cf-8C23-00AA006B6814},IID,1,90,0A,73,B5,2C,1A,cf,11,8C,23,00,AA,00,6B,68,14

; This IID is aggregated for the filter given the CLSID of the property set
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{A03CD5F0-3045-11cf-8C44-00AA006B6814},,,%PlugIn_IAMExtTransport%
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{A03CD5F0-3045-11cf-8C44-00AA006B6814},IID,1,F0,D5,3C,A0,45,30,cf,11,8C,44,00,AA,00,6B,68,14

; This IID is aggregated for the filter given the CLSID of the property set
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{9B496CE1-811B-11cf-8C77-00AA006B6814},,,%PlugIn_IAMTimecodeReader%
HKLM,System\CurrentControlSet\Control\MediaInterfaces\{9B496CE1-811B-11cf-8C77-00AA006B6814},IID,1,E1,6C,49,9B,1B,81,cf,11,8C,77,00,AA,00,6B,68,14

;
; Property Pages
;

;
; Associate the property set with the above property page
;
; IAMExtDevice, IAMExttransport and IAMTimecodeReader interfaces
; all use the same property pages.
;
HKLM,System\CurrentControlSet\Control\MediaSets\{B5730A90-1A2C-11cf-8C23-00AA006B6814}\PropertyPages\{81e9dd62-78d5-11d2-b47e-006097b3391b},,,%PropPage_DVcrControl%
HKLM,System\CurrentControlSet\Control\MediaSets\{A03CD5F0-3045-11cf-8C44-00AA006B6814}\PropertyPages\{81e9dd62-78d5-11d2-b47e-006097b3391b},,,%PropPage_DVcrControl%
HKLM,System\CurrentControlSet\Control\MediaSets\{9B496CE1-811B-11cf-8C77-00AA006B6814}\PropertyPages\{81e9dd62-78d5-11d2-b47e-006097b3391b},,,%PropPage_DVcrControl%


[MSTAPE.DelDrivers]
mstape.sys,,,1

[MSTAPE.CopyDrivers]
mstape.sys,,,0x0100

[MSTAPE_AddFilter_NT]
HKR,,"LowerFilters",0x00010000,"AVCSTRM"      ; NT use this "AVCSTRM" as Service name


[MSTAPE_ServiceInstall]
; same service section
DisplayName   = %MSTAPE.Capture%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\mstape.sys
Dependencies  = AVCSTRM                       ; loaded before MsTape does!


[AVCSTRM_ServiceInstall]
; same service section for the lower filter driver
DisplayName   = %AVCSTRM.FILTER%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\avcstrm.sys
LoadOrderGroup = Pnp Filter


[Strings]

;----------------
; Non-Localizable
;----------------

; note: only register value is case sensitive, key is not.
ProxyVCap.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
MediaCategories="System\CurrentControlSet\Control\MediaCategories"
GUID.MPEG2TSOutput="{2CFF7B83-96F1-47e3-98EC-57BD8A997215}"
GUID.MPEG2TSInput= "{CF4C59A3-ACE3-444b-8C37-0B22661A4A29}"

KSCATEGORY_VIDEO=     "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_CAPTURE=   "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_RENDER=    "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_RENDER_EXT="{cc7bfb41-f175-11d1-a392-00e0291f3959}"

Pin.MPEG2TSOutput="MPEG2TS Out"
Pin.MPEG2TSInput="MPEG2TS In"

SERVICE_KERNEL_DRIVER=1
; PnP should use demand start
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1

; Do not localize
MSTAPE.Capture="Microsoft AV/C Tape Subunit Device"   ; FriendlyNames is generic, but the Description is device specific.
AVCSTRM.FILTER="AVC Streaming Filter Driver" 
TapeDeviceGUID="{8C0F6AF2-0EDB-44c1-8AEB-59040BD830ED}"
;DEFINE_GUID(<<name>>, 
;0x8c0f6af2, 0xedb, 0x44c1, 0x8a, 0xeb, 0x59, 0x4, 0xb, 0xd8, 0x30, 0xed);


;----------------
; Localizable
;----------------

Generic="Generic"
Msft="Microsoft"
JVC="JVC"
Panasonic="Panasonic"
Sony="Sony"

;
; Description should be localized.
;

MSTAPE.MEI.Capture="Panasonic AV/C Tape Device"
MSTAPE.JVC.Capture="JVC AV/C Tape Device"
MSTAPE.Sony.Capture="Sony AV/C Tape Device"

;
; Device name should be localized.
;

AVC\Generic.DeviceDesc="AVC Compliant AV Device"
AVC\Generic&TYP_4.DeviceDesc="AV/C Tape Device"                         ; Generic Tape subunit
AVC\Generic&TUNER.DeviceDesc="AV/C Tuner Device" 

AVC\VEN_VICTOR&TYP_4.DeviceDesc="JVC Tape Device"                                ; All JVC/Victor tape subunit

AVC\VEN_E05C&MOD_0&TYP_4&ID_0.DeviceDesc="Panasonic Tape Device"                 ; PV-HD1000
AVC\Panasonic&TYP_4.DeviceDesc="Panasonic Tape Device"                           ; All Panasonic tape subunit

AVC\VEN_E05C&MOD_0&TYP_5&ID_0.DeviceDesc="Panasonic Vendor Unique Subunit"       ; Tuner
AVC\Panasonic&TYP_5.DeviceDesc="Panasonic Vendor Unique Subunit"                 ; Tuner


AVC\VEN_E05C&MOD_0&TYP_A&ID_0.DeviceDesc="Panasonic Vendor Unique Subunit"       ; Bulletin Board
AVC\Panasonic&TYP_A.DeviceDesc="Panasonic Vendor Unique Subunit"                 ; Bulletin Board

AVC\VEN_80046&MOD_0&TYP_4.DeviceDesc="Sony D-VHS Device"                         ; SLD-DC1
AVC\Sony&DCR-MVDVCR&CAMCORDER.DeviceDesc="Sony MVDVCR Device"                    ; Sony MVDVCR Device

;
; PlugIns descrioption
;
PlugIn_IAMExtDevice="WDM Streaming IAMExtDevice Interface Handler"
PlugIn_IAMExtTransport="WDM Streaming IAMExtTransport Interface Handler"
PlugIn_IAMTimecodeReader="WDM Streaming IAMTimecodeReader Interface Handler"
PropPage_DVcrControl="Tape Subunit Device Control Property Page"
