typedef struct {
	KSPROPERTY	Property;
	BOOL		bAutoSwitch;
} KSPROPERTY_CUSTOMBT848_AUTO_SWITCH_S, *PKSPROPERTY_CUSTOMBT848_AUTO_SWITCH_S;

typedef struct {
	KSPROPERTY	Property;
	BYTE		uTarget;
	BOOL		bCapture[4];
} KSPROPERTY_CUSTOMBT848_SET_CHANNEL_S, *PKSPROPERTY_CUSTOMBT848_SET_CHANNEL_S;

typedef struct {
	KSPROPERTY	Property;
	DWORD		dwTarget;
	DWORD		dwValue[8];
} KSPROPERTY_CUSTOMBT848_MY_GPIO_S, *PKSPROPERTY_CUSTOMBT848_MY_GPIO_S;

typedef struct {
	KSPROPERTY	Property;
	BOOL		bAutoDetect;
	DWORD		dwAutoDetectInterval;
} KSPROPERTY_CUSTOMBT848_AUTO_DETECT_S, *PKSPROPERTY_CUSTOMBT848_AUTO_DETECT_S;

typedef struct {
	KSPROPERTY	Property;
	BYTE		bTarget;
	BYTE		bVPD[8];
} KSPROPERTY_CUSTOMBT848_VPD_S, *PKSPROPERTY_CUSTOMBT848_VPD_S;

typedef struct {
	KSPROPERTY	Property;
	BYTE		bWDTTime;
} KSPROPERTY_CUSTOMBT848_WDT_S, *PKSPROPERTY_CUSTOMBT848_WDT_S;

typedef struct {
	KSPROPERTY	Property;
	DWORD		dwSubsystemId;
	DWORD		dwSubsystemVendorId;
} KSPROPERTY_CUSTOMBT848_CARD_ID_S, *PKSPROPERTY_CUSTOMBT848_CARD_ID_S;

typedef struct {
	KSPROPERTY	Property;
	DWORD		dwTarget;
	DWORD		dwValue;
} KSPROPERTY_CUSTOMBT848_SET_CHANNEL_NEW_S, *PKSPROPERTY_CUSTOMBT848_SET_CHANNEL_NEW_S;

typedef struct {
	KSPROPERTY	Property;
	DWORD		dwTarget;
	DWORD		dwValue;
} KSPROPERTY_CUSTOMBT848_MY_GPIO_NEW_S, *PKSPROPERTY_CUSTOMBT848_MY_GPIO_NEW_S;

typedef struct {
	KSPROPERTY	Property;
	BYTE		bIVC120;
} KSPROPERTY_CUSTOMBT848_IVC120_COUNT_S, *PKSPROPERTY_CUSTOMBT848_IVC120_COUNT_S;

typedef struct {
	KSPROPERTY	Property;
	BYTE		bTarget;
} KSPROPERTY_CUSTOMBT848_IVC120_PASS_THRU_S, *PKSPROPERTY_CUSTOMBT848_IVC120_PASS_THRU_S;

#define INSTANCE_DATA_OF_PROPERTY_PTR(x)	((PKSPROPERTY((x))) + 1)
#define INSTANCE_DATA_OF_PROPERTY_SIZE(x)	(sizeof((x)) - sizeof(KSPROPERTY))
#define MAX_DEVICE				64
#define MAX_CARD				16

typedef enum
{
	KSPROPERTY_CUSTOMBT848_AUTO_SWITCH	= 3,
	KSPROPERTY_CUSTOMBT848_SET_CHANNEL	= 4,
	KSPROPERTY_CUSTOMBT848_MY_GPIO		= 5,
	KSPROPERTY_CUSTOMBT848_AUTO_DETECT	= 6,
	KSPROPERTY_CUSTOMBT848_VPD		= 7,
	KSPROPERTY_CUSTOMBT848_WDT		= 8,
	KSPROPERTY_CUSTOMBT848_CARD_ID		= 9,
	KSPROPERTY_CUSTOMBT848_SET_CHANNEL_NEW	= 10,
	KSPROPERTY_CUSTOMBT848_MY_GPIO_NEW	= 11,
	KSPROPERTY_CUSTOMBT848_IVC120_COUNT	= 12,
	KSPROPERTY_CUSTOMBT848_IVC120_PASS_THRU	= 13,
	KSPROPERTY_CUSTOMBT848_VPD2		= 14
} KSPROPERTY_CUSTOMBT848_PROPS;

DEFINE_GUID(PROPSETID_CUSTOMBT848,
0xeb418836, 0x9e0a, 0x4c02, 0x8d, 0x3, 0x59, 0x37, 0xfc, 0xee, 0x3, 0xdf);
