Author: janderwald
Date: Mon Oct 12 19:04:15 2009
New Revision: 43407
URL:
http://svn.reactos.org/svn/reactos?rev=43407&view=rev
Log:
[KS]
- Activate handling of requests of type KSPROPERTY_TYPE_BASICSUPPORT
- Return correct status code in the GUID_NULL handler
Modified:
trunk/reactos/drivers/ksfilter/ks/property.c
Modified: trunk/reactos/drivers/ksfilter/ks/property.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/ks/proper…
==============================================================================
--- trunk/reactos/drivers/ksfilter/ks/property.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/ksfilter/ks/property.c [iso-8859-1] Mon Oct 12 19:04:15 2009
@@ -8,6 +8,7 @@
#include "priv.h"
+const GUID KSPROPTYPESETID_General = {0x97E99BA0L, 0xBDEA, 0x11CF, {0xA5, 0xD6, 0x28,
0xDB, 0x04, 0xC1, 0x00, 0x00}};
NTSTATUS
FindPropertyHandler(
@@ -22,7 +23,6 @@
OUT PKSPROPERTY_SET * Set)
{
ULONG Index, ItemIndex;
- //PULONG Flags;
for(Index = 0; Index < PropertySetCount; Index++)
{
@@ -47,9 +47,11 @@
IoStatus->Information =
PropertySet[Index].PropertyItem[ItemIndex].MinData;
return STATUS_MORE_ENTRIES;
}
-#if 0
if (Property->Flags & KSPROPERTY_TYPE_BASICSUPPORT)
{
+ PULONG Flags;
+ PKSPROPERTY_DESCRIPTION Description;
+
if (sizeof(ULONG) > OutputBufferLength)
{
/* too small buffer */
@@ -60,7 +62,7 @@
Flags = (PULONG)OutputBuffer;
/* clear flags */
- *Flags = KSPROPERTY_TYPE_BASICSUPPORT;
+ *Flags = 0;
if (PropertySet[Index].PropertyItem[ItemIndex].GetSupported)
*Flags |= KSPROPERTY_TYPE_GET;
@@ -85,9 +87,8 @@
IoStatus->Information = sizeof(KSPROPERTY_DESCRIPTION);
}
+ return STATUS_SUCCESS;
}
-#endif
-
if (Property->Flags & KSPROPERTY_TYPE_SET)
*PropertyHandler =
PropertySet[Index].PropertyItem[ItemIndex].SetPropertyHandler;
@@ -177,7 +178,7 @@
if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(GUID) *
PropertySetsCount)
{
// buffer too small
- return STATUS_BUFFER_OVERFLOW;
+ return STATUS_MORE_ENTRIES;
}
// get output buffer