- Activate handling of requests of type KSPROPERTY_TYPE_BASICSUPPORT
- Return correct status code in the GUID_NULL handler

svn path=/trunk/; revision=43407
This commit is contained in:
Johannes Anderwald 2009-10-12 17:04:15 +00:00
parent 3c2e2137ce
commit 54d11c96f0

View file

@ -8,6 +8,7 @@
#include "priv.h" #include "priv.h"
const GUID KSPROPTYPESETID_General = {0x97E99BA0L, 0xBDEA, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}};
NTSTATUS NTSTATUS
FindPropertyHandler( FindPropertyHandler(
@ -22,7 +23,6 @@ FindPropertyHandler(
OUT PKSPROPERTY_SET * Set) OUT PKSPROPERTY_SET * Set)
{ {
ULONG Index, ItemIndex; ULONG Index, ItemIndex;
//PULONG Flags;
for(Index = 0; Index < PropertySetCount; Index++) for(Index = 0; Index < PropertySetCount; Index++)
{ {
@ -47,9 +47,11 @@ FindPropertyHandler(
IoStatus->Information = PropertySet[Index].PropertyItem[ItemIndex].MinData; IoStatus->Information = PropertySet[Index].PropertyItem[ItemIndex].MinData;
return STATUS_MORE_ENTRIES; return STATUS_MORE_ENTRIES;
} }
#if 0
if (Property->Flags & KSPROPERTY_TYPE_BASICSUPPORT) if (Property->Flags & KSPROPERTY_TYPE_BASICSUPPORT)
{ {
PULONG Flags;
PKSPROPERTY_DESCRIPTION Description;
if (sizeof(ULONG) > OutputBufferLength) if (sizeof(ULONG) > OutputBufferLength)
{ {
/* too small buffer */ /* too small buffer */
@ -60,7 +62,7 @@ FindPropertyHandler(
Flags = (PULONG)OutputBuffer; Flags = (PULONG)OutputBuffer;
/* clear flags */ /* clear flags */
*Flags = KSPROPERTY_TYPE_BASICSUPPORT; *Flags = 0;
if (PropertySet[Index].PropertyItem[ItemIndex].GetSupported) if (PropertySet[Index].PropertyItem[ItemIndex].GetSupported)
*Flags |= KSPROPERTY_TYPE_GET; *Flags |= KSPROPERTY_TYPE_GET;
@ -85,9 +87,8 @@ FindPropertyHandler(
IoStatus->Information = sizeof(KSPROPERTY_DESCRIPTION); IoStatus->Information = sizeof(KSPROPERTY_DESCRIPTION);
} }
return STATUS_SUCCESS;
} }
#endif
if (Property->Flags & KSPROPERTY_TYPE_SET) if (Property->Flags & KSPROPERTY_TYPE_SET)
*PropertyHandler = PropertySet[Index].PropertyItem[ItemIndex].SetPropertyHandler; *PropertyHandler = PropertySet[Index].PropertyItem[ItemIndex].SetPropertyHandler;
@ -177,7 +178,7 @@ KspPropertyHandler(
if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(GUID) * PropertySetsCount) if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(GUID) * PropertySetsCount)
{ {
// buffer too small // buffer too small
return STATUS_BUFFER_OVERFLOW; return STATUS_MORE_ENTRIES;
} }
// get output buffer // get output buffer