WindowFromPhysicalPoint

Тема в разделе "WASM.BEGINNERS", создана пользователем hapr, 4 апр 2018.

Метки:
  1. hapr

    hapr Member

    Публикаций:
    0
    Регистрация:
    9 мар 2009
    Сообщения:
    59
    У меня не очень с английским поэтому хотелось бы уточнить у кого с этим нет проблем.
    Мой английский мне сказал что эта функция получает один параметр . Но как показал битый стек и отладчик берет она два параметра: в виде координат точки - x и y.
    Это мой англиский не прав или описания кривое функции?
     
  2. unc1e

    unc1e Active Member

    Публикаций:
    2
    Регистрация:
    28 июл 2017
    Сообщения:
    287
    Она принимает структуру POINT - внутри нее два LONG
     
  3. hapr

    hapr Member

    Публикаций:
    0
    Регистрация:
    9 мар 2009
    Сообщения:
    59
    Блин, а я привык что когда есть упоминание структуры то это всегда указатель на нее. А получается возможна такая запись как в WindowFromPhysicalPoint где указание структуры говорит об количестве передаваемых параметров.
    Я правильно все понял?
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.568
    Адрес:
    Russia
    hapr, в данном случае вся структура кладется в стек. Достаточно посмотреть прототип функции:
    Код (C++):
    1. HWND WINAPI WindowFromPhysicalPoint(
    2.   _In_ POINT Point
    3. );
    4.  
    Видите же что не POINT* pPoint .
    Да но не указание структуры - а ее размер. По размеру структуры и размеру элемента стека определяется кол-во резервируемых стековых фреймов. Но выражение "Кол-во параметров" в данном случае неуместно. Так как параметр один, но в стеке он занимает "два фрейма". Вы просто смешали понятия в С++ с понятиями в Ассемблере.
     
    hapr нравится это.
  5. hapr

    hapr Member

    Публикаций:
    0
    Регистрация:
    9 мар 2009
    Сообщения:
    59
    Спасибо за объяснение теперь мне все понятно.