diff fuhtark_test/include/ddk/bdasup.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/ddk/bdasup.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,140 @@
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#define STDMETHODCALLTYPE __stdcall
+typedef GUID *PGUID;
+
+/* Types */
+
+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;
+
+/* Functions */
+
+STDMETHODIMP_(NTSTATUS) BdaCheckChanges(IN PIRP  Irp);
+STDMETHODIMP_(NTSTATUS) BdaCommitChanges(IN PIRP  Irp);
+
+STDMETHODIMP_(NTSTATUS) BdaCreateFilterFactory(
+    IN PKSDEVICE  pKSDevice,
+    IN const KSFILTER_DESCRIPTOR *pFilterDescriptor,
+    IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
+
+STDMETHODIMP_(NTSTATUS) BdaCreateFilterFactoryEx(
+    IN  PKSDEVICE pKSDevice,
+    IN  const KSFILTER_DESCRIPTOR *pFilterDescriptor,
+    IN  const BDA_FILTER_TEMPLATE *pBdaFilterTemplate,
+    OUT PKSFILTERFACTORY  *ppKSFilterFactory);
+
+STDMETHODIMP_(NTSTATUS) BdaCreatePin(
+    IN PKSFILTER pKSFilter,
+    IN ULONG ulPinType,
+    OUT ULONG *pulPinId);
+
+STDMETHODIMP_(NTSTATUS) BdaCreateTopology(
+    IN PKSFILTER pKSFilter,
+    IN ULONG InputPinId,
+    IN ULONG OutputPinId);
+
+STDMETHODIMP_(NTSTATUS) BdaDeletePin(
+    IN PKSFILTER pKSFilter,
+    IN ULONG *pulPinId);
+
+STDMETHODIMP_(NTSTATUS) BdaFilterFactoryUpdateCacheData(
+    IN PKSFILTERFACTORY pFilterFactory,
+    IN const KSFILTER_DESCRIPTOR *pFilterDescriptor OPTIONAL);
+
+STDMETHODIMP_(NTSTATUS) BdaGetChangeState(
+    IN PIRP Irp,
+    OUT BDA_CHANGE_STATE *pChangeState);
+
+STDMETHODIMP_(NTSTATUS) BdaInitFilter(
+    IN PKSFILTER pKSFilter,
+    IN const BDA_FILTER_TEMPLATE *pBdaFilterTemplate);
+
+STDMETHODIMP_(NTSTATUS) BdaMethodCreatePin(
+    IN PIRP Irp,
+    IN KSMETHOD *pKSMethod,
+    OUT ULONG *pulPinFactoryID);
+
+STDMETHODIMP_(NTSTATUS) BdaMethodCreateTopology(
+    IN PIRP Irp,
+    IN KSMETHOD *pKSMethod,
+    OPTIONAL PVOID pvIgnored);
+
+STDMETHODIMP_(NTSTATUS) BdaMethodDeletePin(
+    IN PIRP Irp,
+    IN KSMETHOD *pKSMethod,
+    OPTIONAL PVOID pvIgnored);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyGetControllingPinId(
+    IN PIRP Irp,
+    IN KSP_BDA_NODE_PIN *pProperty,
+    OUT ULONG *pulControllingPinId);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyGetPinControl(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty,
+    OUT ULONG *pulProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyNodeDescriptors(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty,
+    OUT BDANODE_DESCRIPTOR *pNodeDescriptorProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyNodeEvents(
+    IN PIRP Irp,
+    IN KSP_NODE *pKSProperty,
+    OUT GUID *pguidProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyNodeMethods(
+    IN PIRP Irp,
+    IN KSP_NODE *pKSProperty,
+    OUT GUID *pguidProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyNodeProperties(
+    IN PIRP Irp,
+    IN KSP_NODE *pKSProperty,
+    OUT GUID *pguidProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyNodeTypes(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty,
+    OUT ULONG *pulProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyPinTypes(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty,
+    OUT ULONG *pulProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaPropertyTemplateConnections(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty,
+    OUT KSTOPOLOGY_CONNECTION *pConnectionProperty);
+
+STDMETHODIMP_(NTSTATUS) BdaStartChanges(IN PIRP Irp);
+STDMETHODIMP_(NTSTATUS) BdaUninitFilter(IN PKSFILTER pKSFilter);
+
+STDMETHODIMP_(NTSTATUS) BdaValidateNodeProperty(
+    IN PIRP Irp,
+    IN KSPROPERTY *pKSProperty);
+
+#if defined(__cplusplus)
+}
+#endif