+++ /dev/null
-#pragma once
-
-#if (NTDDI_VERSION >= NTDDI_WINXP)
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#define STDMETHODCALLTYPE __stdcall
-
-#ifndef _WDMDDK_
-typedef GUID *PGUID;
-#endif
-
-/* Types */
-
-typedef ULONG BDA_TOPOLOGY_JOINT, *PBDA_TOPOLOGY_JOINT;
-
-typedef struct _BDA_PIN_PAIRING {
- ULONG ulInputPin;
- ULONG ulOutputPin;
- ULONG ulcMaxInputsPerOutput;
- ULONG ulcMinInputsPerOutput;
- ULONG ulcMaxOutputsPerInput;
- ULONG ulcMinOutputsPerInput;
- ULONG ulcTopologyJoints;
- const ULONG *pTopologyJoints;
-} BDA_PIN_PAIRING, *PBDA_PIN_PAIRING;
-
-typedef struct _BDA_FILTER_TEMPLATE {
- const KSFILTER_DESCRIPTOR *pFilterDescriptor;
- ULONG ulcPinPairs;
- const BDA_PIN_PAIRING *pPinPairs;
-} BDA_FILTER_TEMPLATE, *PBDA_FILTER_TEMPLATE;
-
-typedef struct _KSM_PIN_PAIR {
- KSMETHOD Method;
- ULONG InputPinId;
- ULONG OutputPinId;
- ULONG Reserved;
-} KSM_PIN_PAIR, * PKSM_PIN_PAIR;
-
-typedef struct _KSM_PIN {
- KSMETHOD Method;
- __GNU_EXTENSION union {
- ULONG PinId;
- ULONG PinType;
- };
- ULONG Reserved;
-} KSM_PIN, * PKSM_PIN;
-
-/* Functions */
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCheckChanges(
- _In_ PIRP Irp);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCommitChanges(
- _In_ PIRP Irp);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCreateFilterFactory(
- _In_ PKSDEVICE pKSDevice,
- _In_ const KSFILTER_DESCRIPTOR *pFilterDescriptor,
- _In_ const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCreateFilterFactoryEx(
- _In_ PKSDEVICE pKSDevice,
- _In_ const KSFILTER_DESCRIPTOR *pFilterDescriptor,
- _In_ const BDA_FILTER_TEMPLATE *pBdaFilterTemplate,
- _Out_opt_ PKSFILTERFACTORY *ppKSFilterFactory);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCreatePin(
- _In_ PKSFILTER pKSFilter,
- _In_ ULONG ulPinType,
- _Out_opt_ ULONG *pulPinId);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaCreateTopology(
- _In_ PKSFILTER pKSFilter,
- _In_ ULONG InputPinId,
- _In_ ULONG OutputPinId);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaDeletePin(
- _In_ PKSFILTER pKSFilter,
- _Out_opt_ ULONG *pulPinId);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaFilterFactoryUpdateCacheData(
- _In_ PKSFILTERFACTORY pFilterFactory,
- _In_opt_ const KSFILTER_DESCRIPTOR *pFilterDescriptor);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaGetChangeState(
- _In_ PIRP Irp,
- _Out_opt_ BDA_CHANGE_STATE *pChangeState);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaInitFilter(
- _In_ PKSFILTER pKSFilter,
- _In_ const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaMethodCreatePin(
- _In_ PIRP Irp,
- _In_ KSMETHOD *pKSMethod,
- _Out_opt_ ULONG *pulPinFactoryID);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaMethodCreateTopology(
- _In_ PIRP Irp,
- _In_ KSMETHOD *pKSMethod,
- PVOID pvIgnored);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaMethodDeletePin(
- _In_ PIRP Irp,
- _In_ KSMETHOD *pKSMethod,
- PVOID pvIgnored);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyGetControllingPinId(
- _In_ PIRP Irp,
- _In_ KSP_BDA_NODE_PIN *pProperty,
- _Out_opt_ ULONG *pulControllingPinId);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyGetPinControl(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty,
- _Out_opt_ ULONG *pulProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyNodeDescriptors(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty,
- _Out_opt_ BDANODE_DESCRIPTOR *pNodeDescriptorProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyNodeEvents(
- _In_ PIRP Irp,
- _In_ KSP_NODE *pKSProperty,
- _Out_opt_ GUID *pguidProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyNodeMethods(
- _In_ PIRP Irp,
- _In_ KSP_NODE *pKSProperty,
- _Out_opt_ GUID *pguidProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyNodeProperties(
- _In_ PIRP Irp,
- _In_ KSP_NODE *pKSProperty,
- _Out_opt_ GUID *pguidProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyNodeTypes(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty,
- _Out_writes_bytes_(OutputBufferLenFromIrp(Irp)) ULONG *pulProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyPinTypes(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty,
- _Out_writes_bytes_(OutputBufferLenFromIrp(Irp)) ULONG *pulProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaPropertyTemplateConnections(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty,
- _Out_opt_ KSTOPOLOGY_CONNECTION *pConnectionProperty);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaStartChanges(
- _In_ PIRP Irp);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaUninitFilter(
- _In_ PKSFILTER pKSFilter);
-
-_Must_inspect_result_
-_IRQL_requires_(PASSIVE_LEVEL)
-STDMETHODIMP_(NTSTATUS)
-BdaValidateNodeProperty(
- _In_ PIRP Irp,
- _In_ KSPROPERTY *pKSProperty);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */