Return STATUS_INSUFFICIENT_BUFFER in SetupDiGetDeviceRegistryPropertyW if buffer...
authorHervé Poussineau <hpoussin@reactos.org>
Tue, 25 Oct 2005 15:43:06 +0000 (15:43 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Tue, 25 Oct 2005 15:43:06 +0000 (15:43 +0000)
This is not the same behaviour as RegQueryValueExW which returns a success in this case...

svn path=/trunk/; revision=18772

reactos/lib/setupapi/devinst.c

index 587b458..3c9c425 100644 (file)
@@ -2383,7 +2383,10 @@ BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(
                     *RequiredSize = BufferSize;
                 switch(rc) {
                     case ERROR_SUCCESS:
                     *RequiredSize = BufferSize;
                 switch(rc) {
                     case ERROR_SUCCESS:
-                        ret = TRUE;
+                        if (PropertyBuffer != NULL || BufferSize == 0)
+                            ret = TRUE;
+                        else
+                            SetLastError(ERROR_INSUFFICIENT_BUFFER);
                         break;
                     case ERROR_MORE_DATA:
                         SetLastError(ERROR_INSUFFICIENT_BUFFER);
                         break;
                     case ERROR_MORE_DATA:
                         SetLastError(ERROR_INSUFFICIENT_BUFFER);