https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5cb2b739886d56a08795e3...
commit 5cb2b739886d56a08795e387250da6a7729537f4 Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Wed Jun 28 17:12:36 2023 +0200 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Wed Jun 28 17:22:01 2023 +0200
[VIDEOPRT] VideoPortGetAccessRanges: Return ERROR_MORE_DATA if there exist more device access ranges that can be returned than what is specified by NumAccessRanges. --- win32ss/drivers/videoprt/resource.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/win32ss/drivers/videoprt/resource.c b/win32ss/drivers/videoprt/resource.c index 14ca0e8d163..25c5a89f62c 100644 --- a/win32ss/drivers/videoprt/resource.c +++ b/win32ss/drivers/videoprt/resource.c @@ -617,6 +617,8 @@ VideoPortUnmapMemory( * - NO_ERROR if the resources have been successfully claimed or released. * - ERROR_INVALID_PARAMETER if an error or a conflict occurred. * - ERROR_DEV_NOT_EXIST if the device is not found. + * - ERROR_MORE_DATA if there exist more device access ranges available + * than what is specified by @p NumAccessRanges. * - ERROR_NOT_ENOUGH_MEMORY if there is not enough memory available. **/ VP_STATUS @@ -767,7 +769,7 @@ VideoPortGetAccessRanges( if (NumAccessRanges < LegacyAccessRangeCount) { ERR_(VIDEOPRT, "Too many legacy access ranges found\n"); - return ERROR_NOT_ENOUGH_MEMORY; + return ERROR_NOT_ENOUGH_MEMORY; // ERROR_MORE_DATA; }
RtlCopyMemory(AccessRanges, LegacyAccessRanges, LegacyAccessRangeCount * sizeof(VIDEO_ACCESS_RANGE)); @@ -837,7 +839,7 @@ VideoPortGetAccessRanges( AssignedCount >= NumAccessRanges) { ERR_(VIDEOPRT, "Too many access ranges found\n"); - return ERROR_NOT_ENOUGH_MEMORY; + return ERROR_MORE_DATA; } else if (Descriptor->Type == CmResourceTypeMemory) { @@ -878,6 +880,7 @@ VideoPortGetAccessRanges( else DeviceExtension->InterruptShared = FALSE; } + // else if (Descriptor->Type == CmResourceTypeDma) // TODO! else { ASSERT(FALSE);