diff --git a/reactos/drivers/multimedia/ks/ks.def b/reactos/drivers/multimedia/ks/ks.def index f146fc5f53f..7ab7c3dd56e 100644 --- a/reactos/drivers/multimedia/ks/ks.def +++ b/reactos/drivers/multimedia/ks/ks.def @@ -109,3 +109,4 @@ KsRecalculateStackDepth@8 KsSetTargetDeviceObject@8 KsSetTargetState@8 KsSynchronousIoControlDevice@32 +KsInitializeDriver@12 diff --git a/reactos/drivers/multimedia/ks/misc.c b/reactos/drivers/multimedia/ks/misc.c index 7e5303ec6e3..bb582aeef0e 100644 --- a/reactos/drivers/multimedia/ks/misc.c +++ b/reactos/drivers/multimedia/ks/misc.c @@ -216,3 +216,17 @@ KsSynchronousIoControlDevice( return STATUS_UNSUCCESSFUL; } +/* + @unimplemented +*/ +KSDDKAPI NTSTATUS NTAPI +KsInitializeDriver( +IN PDRIVER_OBJECT DriverObject, +IN PUNICODE_STRING RegistryPath, +IN const KSDEVICE_DESCRIPTOR *Descriptor OPTIONAL +) +{ + UNIMPLEMENTED; + return STATUS_UNSUCCESSFUL; +} + diff --git a/reactos/include/ddk/ks.h b/reactos/include/ddk/ks.h index a5aba335924..2faa0fb5a9d 100644 --- a/reactos/include/ddk/ks.h +++ b/reactos/include/ddk/ks.h @@ -1540,6 +1540,37 @@ typedef struct _KSFILTER_DISPATCH PFNKSFILTERVOID Reset; } KSFILTER_DISPATCH, *PKSFILTER_DISPATCH; +typedef struct { + const KSAUTOMATION_TABLE* AutomationTable; + const GUID* Type; + const GUID* Name; +} KSNODE_DESCRIPTOR, *PKSNODE_DESCRIPTOR; + +typedef struct { + const KSFILTER_DISPATCH* Dispatch; + const KSAUTOMATION_TABLE* AutomationTable; + ULONG Version; + ULONG Flags; + const GUID* ReferenceGuid; + ULONG PinDescriptorsCount; + ULONG PinDescriptorSize; + const KSPIN_DESCRIPTOR_EX* PinDescriptors; + ULONG CategoriesCount; + const GUID* Categories; + ULONG NodeDescriptorsCount; + ULONG NodeDescriptorSize; + const KSNODE_DESCRIPTOR* NodeDescriptors; + ULONG ConnectionsCount; + const KSTOPOLOGY_CONNECTION* Connections; + const KSCOMPONENTID* ComponentId; +} KSFILTER_DESCRIPTOR, *PKSFILTER_DESCRIPTOR; + +typedef struct +{ + const KSDEVICE_DISPATCH* Dispatch; + ULONG FilterDescriptorsCount; + const KSFILTER_DESCRIPTOR*const* FilterDescriptors; +} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR; /* =============================================================== Minidriver Callbacks @@ -2287,6 +2318,13 @@ KsSynchronousIoControlDevice( http://www.osronline.com/ddkx/stream/avstream_5q9f.htm */ +KSDDKAPI NTSTATUS NTAPI +KsInitializeDriver( + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegistryPath, + IN const KSDEVICE_DESCRIPTOR *Descriptor OPTIONAL + ); + #if 0 typedef void (*PFNKSFILTERFACTORYPOWER)( IN PKSFILTERFACTORY FilterFactory,