Software & Application Miscellaneous: ZwMapViewOfSection() problem

  • anonymous / 205 / Wed, 27 Jan 2010 04:33:00 GMT / Comments (4)
  • Hi all, I'm trying the following code... but it returns that the 3rd parameter is invalid (STATUS_INVALID_PARAMETER_3). What am i doing wrong

    UNICODE_STRING strMapName
    SIZE_T nViewSize
    NTSTATUS status
    PVOID pBaseAddress

    RtlInitUnicodeString(&strMapName, L"\\BaseNamedObjects\\MyDeviceName")
    InitializeObjectAttributes(&MappedFileObjectAttributes, &strMapName, OBJ_CASE_INSENSITIVE, NULL, NULL)
    status = ZwOpenSection(&hMappedSection, SECTION_ALL_ACCESS, &MappedFileObjectAttributes)
    (... check status value ...

    ZwMapViewOfSection(hMappedSection
    (HANDLE)-1
    &pBaseAddress
    0L
    PAGE_SIZE
    NULL
    &nViewSize
    ViewShare
    0
    PAGE_READWRITE)

    What am I doing wrong here? Thanks for any advice.
  • Keywords:

    zwmapviewofsection, software, application

  • http://software.itags.org/software-application/240741/«« Last Thread - Next Thread »»
    1. pBaseAddress must be initialized. Set it to NULL.

      "Tareq Ahmed Siraj" <anonymous...discussions.microsoft.com> wrote in message
      news:E0882F6C-7A5E-4F05-B1A2-720D414FDFDD...microsoft.com...
      > Hi all, I'm trying the following code... but it returns that the 3rd
      > parameter is invalid (STATUS_INVALID_PARAMETER_3). What am i doing wrong?
      > UNICODE_STRING strMapName;
      > SIZE_T nViewSize;
      > NTSTATUS status;
      > PVOID pBaseAddress;
      > RtlInitUnicodeString(&strMapName, L"\\BaseNamedObjects\\MyDeviceName");
      > InitializeObjectAttributes(&MappedFileObjectAttributes, &strMapName,
      > OBJ_CASE_INSENSITIVE, NULL, NULL);
      > status = ZwOpenSection(&hMappedSection, SECTION_ALL_ACCESS,
      > &MappedFileObjectAttributes);
      > (... check status value ...)
      > ZwMapViewOfSection(hMappedSection,
      > (HANDLE)-1,
      > &pBaseAddress,
      > 0L,
      > PAGE_SIZE,
      > NULL,
      > &nViewSize,
      > ViewShare,
      > 0,
      > PAGE_READWRITE);
      > What am I doing wrong here? Thanks for any advice.

      nospam | Tues, 20 May 2008 08:06:00 GMT |

    2. Thank you for your help. still the same after i set it to NULL. Any other suggestions? Thanks.

      anonymous | Tues, 20 May 2008 08:07:00 GMT |

    3. Set the ViewSize to zero or some valid value. BaseAddress+ViewSize should
      not exceed the highest user mode virtual address region.

      On XP machine that I looked at nt!MmHighestUserAddress is 7ffeffff.
      --
      -Eliyas
      This posting is provided "AS IS" with no warranties, and confers no rights.
      http://www.microsoft.com/whdc/hwdev/driver/kb-drv.mspx

      eliyas | Tues, 20 May 2008 08:08:00 GMT |

    4. Thanks a lot .. it works now.

      anonymous | Tues, 20 May 2008 08:09:00 GMT |