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/propert... ============================================================================== --- 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