Merge bdasup.h

svn path=/trunk/; revision=46558
This commit is contained in:
Timo Kreuzer 2010-03-29 05:17:15 +00:00
parent 10ba115855
commit e6421edfc9

View file

@ -1,3 +1,7 @@
#pragma once
#if (NTDDI_VERSION >= NTDDI_WINXP)
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
@ -19,8 +23,9 @@ typedef GUID *PGUID;
/* Types */ /* Types */
typedef struct _BDA_PIN_PAIRING typedef ULONG BDA_TOPOLOGY_JOINT, *PBDA_TOPOLOGY_JOINT;
{
typedef struct _BDA_PIN_PAIRING {
ULONG ulInputPin; ULONG ulInputPin;
ULONG ulOutputPin; ULONG ulOutputPin;
ULONG ulcMaxInputsPerOutput; ULONG ulcMaxInputsPerOutput;
@ -31,19 +36,22 @@ typedef struct _BDA_PIN_PAIRING
const ULONG *pTopologyJoints; const ULONG *pTopologyJoints;
} BDA_PIN_PAIRING, *PBDA_PIN_PAIRING; } BDA_PIN_PAIRING, *PBDA_PIN_PAIRING;
typedef struct _BDA_FILTER_TEMPLATE typedef struct _BDA_FILTER_TEMPLATE {
{
const KSFILTER_DESCRIPTOR *pFilterDescriptor; const KSFILTER_DESCRIPTOR *pFilterDescriptor;
ULONG ulcPinPairs; ULONG ulcPinPairs;
const BDA_PIN_PAIRING *pPinPairs; const BDA_PIN_PAIRING *pPinPairs;
} BDA_FILTER_TEMPLATE, *PBDA_FILTER_TEMPLATE; } BDA_FILTER_TEMPLATE, *PBDA_FILTER_TEMPLATE;
typedef struct _KSM_PIN_PAIR {
typedef struct _KSM_PIN
{
KSMETHOD Method; KSMETHOD Method;
__GNU_EXTENSION union ULONG InputPinId;
{ ULONG OutputPinId;
ULONG Reserved;
} KSM_PIN_PAIR, * PKSM_PIN_PAIR;
typedef struct _KSM_PIN {
KSMETHOD Method;
__GNU_EXTENSION union {
ULONG PinId; ULONG PinId;
ULONG PinType; ULONG PinType;
}; };
@ -52,113 +60,146 @@ typedef struct _KSM_PIN
/* Functions */ /* Functions */
STDMETHODIMP_(NTSTATUS) BdaCheckChanges(IN PIRP Irp); STDMETHODIMP_(NTSTATUS)
STDMETHODIMP_(NTSTATUS) BdaCommitChanges(IN PIRP Irp); BdaCheckChanges(
IN PIRP Irp);
STDMETHODIMP_(NTSTATUS) BdaCreateFilterFactory( STDMETHODIMP_(NTSTATUS)
BdaCommitChanges(
IN PIRP Irp);
STDMETHODIMP_(NTSTATUS)
BdaCreateFilterFactory(
IN PKSDEVICE pKSDevice, IN PKSDEVICE pKSDevice,
IN const KSFILTER_DESCRIPTOR *pFilterDescriptor, IN const KSFILTER_DESCRIPTOR *pFilterDescriptor,
IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate); IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
STDMETHODIMP_(NTSTATUS) BdaCreateFilterFactoryEx( STDMETHODIMP_(NTSTATUS)
BdaCreateFilterFactoryEx(
IN PKSDEVICE pKSDevice, IN PKSDEVICE pKSDevice,
IN const KSFILTER_DESCRIPTOR *pFilterDescriptor, IN const KSFILTER_DESCRIPTOR *pFilterDescriptor,
IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate, IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate,
OUT PKSFILTERFACTORY *ppKSFilterFactory); OUT PKSFILTERFACTORY *ppKSFilterFactory);
STDMETHODIMP_(NTSTATUS) BdaCreatePin( STDMETHODIMP_(NTSTATUS)
BdaCreatePin(
IN PKSFILTER pKSFilter, IN PKSFILTER pKSFilter,
IN ULONG ulPinType, IN ULONG ulPinType,
OUT ULONG *pulPinId); OUT ULONG *pulPinId);
STDMETHODIMP_(NTSTATUS) BdaCreateTopology( STDMETHODIMP_(NTSTATUS)
BdaCreateTopology(
IN PKSFILTER pKSFilter, IN PKSFILTER pKSFilter,
IN ULONG InputPinId, IN ULONG InputPinId,
IN ULONG OutputPinId); IN ULONG OutputPinId);
STDMETHODIMP_(NTSTATUS) BdaDeletePin( STDMETHODIMP_(NTSTATUS)
BdaDeletePin(
IN PKSFILTER pKSFilter, IN PKSFILTER pKSFilter,
IN ULONG *pulPinId); IN ULONG *pulPinId);
STDMETHODIMP_(NTSTATUS) BdaFilterFactoryUpdateCacheData( STDMETHODIMP_(NTSTATUS)
BdaFilterFactoryUpdateCacheData(
IN PKSFILTERFACTORY pFilterFactory, IN PKSFILTERFACTORY pFilterFactory,
IN const KSFILTER_DESCRIPTOR *pFilterDescriptor OPTIONAL); IN const KSFILTER_DESCRIPTOR *pFilterDescriptor OPTIONAL);
STDMETHODIMP_(NTSTATUS) BdaGetChangeState( STDMETHODIMP_(NTSTATUS)
BdaGetChangeState(
IN PIRP Irp, IN PIRP Irp,
OUT BDA_CHANGE_STATE *pChangeState); OUT BDA_CHANGE_STATE *pChangeState);
STDMETHODIMP_(NTSTATUS) BdaInitFilter( STDMETHODIMP_(NTSTATUS)
BdaInitFilter(
IN PKSFILTER pKSFilter, IN PKSFILTER pKSFilter,
IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate); IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
STDMETHODIMP_(NTSTATUS) BdaMethodCreatePin( STDMETHODIMP_(NTSTATUS)
BdaMethodCreatePin(
IN PIRP Irp, IN PIRP Irp,
IN KSMETHOD *pKSMethod, IN KSMETHOD *pKSMethod,
OUT ULONG *pulPinFactoryID); OUT ULONG *pulPinFactoryID);
STDMETHODIMP_(NTSTATUS) BdaMethodCreateTopology( STDMETHODIMP_(NTSTATUS)
BdaMethodCreateTopology(
IN PIRP Irp, IN PIRP Irp,
IN KSMETHOD *pKSMethod, IN KSMETHOD *pKSMethod,
OPTIONAL PVOID pvIgnored); OPTIONAL PVOID pvIgnored);
STDMETHODIMP_(NTSTATUS) BdaMethodDeletePin( STDMETHODIMP_(NTSTATUS)
BdaMethodDeletePin(
IN PIRP Irp, IN PIRP Irp,
IN KSMETHOD *pKSMethod, IN KSMETHOD *pKSMethod,
OPTIONAL PVOID pvIgnored); OPTIONAL PVOID pvIgnored);
STDMETHODIMP_(NTSTATUS) BdaPropertyGetControllingPinId( STDMETHODIMP_(NTSTATUS)
BdaPropertyGetControllingPinId(
IN PIRP Irp, IN PIRP Irp,
IN KSP_BDA_NODE_PIN *pProperty, IN KSP_BDA_NODE_PIN *pProperty,
OUT ULONG *pulControllingPinId); OUT ULONG *pulControllingPinId);
STDMETHODIMP_(NTSTATUS) BdaPropertyGetPinControl( STDMETHODIMP_(NTSTATUS)
BdaPropertyGetPinControl(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT ULONG *pulProperty); OUT ULONG *pulProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyNodeDescriptors( STDMETHODIMP_(NTSTATUS)
BdaPropertyNodeDescriptors(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT BDANODE_DESCRIPTOR *pNodeDescriptorProperty); OUT BDANODE_DESCRIPTOR *pNodeDescriptorProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyNodeEvents( STDMETHODIMP_(NTSTATUS)
BdaPropertyNodeEvents(
IN PIRP Irp, IN PIRP Irp,
IN KSP_NODE *pKSProperty, IN KSP_NODE *pKSProperty,
OUT GUID *pguidProperty); OUT GUID *pguidProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyNodeMethods( STDMETHODIMP_(NTSTATUS)
BdaPropertyNodeMethods(
IN PIRP Irp, IN PIRP Irp,
IN KSP_NODE *pKSProperty, IN KSP_NODE *pKSProperty,
OUT GUID *pguidProperty); OUT GUID *pguidProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyNodeProperties( STDMETHODIMP_(NTSTATUS)
BdaPropertyNodeProperties(
IN PIRP Irp, IN PIRP Irp,
IN KSP_NODE *pKSProperty, IN KSP_NODE *pKSProperty,
OUT GUID *pguidProperty); OUT GUID *pguidProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyNodeTypes( STDMETHODIMP_(NTSTATUS)
BdaPropertyNodeTypes(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT ULONG *pulProperty); OUT ULONG *pulProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyPinTypes( STDMETHODIMP_(NTSTATUS)
BdaPropertyPinTypes(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT ULONG *pulProperty); OUT ULONG *pulProperty);
STDMETHODIMP_(NTSTATUS) BdaPropertyTemplateConnections( STDMETHODIMP_(NTSTATUS)
BdaPropertyTemplateConnections(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT KSTOPOLOGY_CONNECTION *pConnectionProperty); OUT KSTOPOLOGY_CONNECTION *pConnectionProperty);
STDMETHODIMP_(NTSTATUS) BdaStartChanges(IN PIRP Irp); STDMETHODIMP_(NTSTATUS)
STDMETHODIMP_(NTSTATUS) BdaUninitFilter(IN PKSFILTER pKSFilter); BdaStartChanges(
IN PIRP Irp);
STDMETHODIMP_(NTSTATUS) BdaValidateNodeProperty( STDMETHODIMP_(NTSTATUS)
BdaUninitFilter(
IN PKSFILTER pKSFilter);
STDMETHODIMP_(NTSTATUS)
BdaValidateNodeProperty(
IN PIRP Irp, IN PIRP Irp,
IN KSPROPERTY *pKSProperty); IN KSPROPERTY *pKSProperty);
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */