Параметры функций из MSDN

Обсуждения по программированию для ОС Windows безотносительно используемого языка программирования. Windows NT, Win32, Windows API, ядро и драйверы.
Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Параметры функций из MSDN

Сообщение Diamock » 19.02.2011 (Сб) 17:51

Здравствуйте Уважаемые!
В MSDN, в описании параметров функций присутствуют обозначения, смысла которых, я понять не могу.
Пример 1: параметр функции AdjustWindowRect
MSDN писал(а):Parameters
lpRect [in, out]
Type: LPRECT

Пример 2: параметр функции FindWindowEx
MSDN писал(а):Parameters
hwndParent [in, optional]
Type: HWND

Что означают: in, out, optional.
С уважением...
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Параметры функций из MSDN

Сообщение Dmitriy2003 » 19.02.2011 (Сб) 19:35

Diamock писал(а):В MSDN, в описании параметров функций присутствуют обозначения, смысла которых, я понять не могу.
....
Что означают: in, out, optional.

Пора включать моск. :| и учить англиский.


Type: LPRECT

A pointer to a RECT structure that contains the coordinates of the top-left and bottom-right corners of the desired client area (IN). When the function returns (OUT), the structure contains the coordinates of the top-left and bottom-right corners of the window to accommodate the desired client area.


Ну а до опци"анального" параметра сам додумаешься. :drunken:

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Параметры функций из MSDN

Сообщение Admiralisimys » 19.02.2011 (Сб) 19:46

Если программировать под Visual С++, то помимо тех значений которые объяснил Dmitriy2003 у них так же существует контролирующее свойство, доступное и для использования в своих программах для параметров функций/методов- SAL Annotations

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Параметры функций из MSDN

Сообщение Diamock » 10.04.2011 (Вс) 20:22

RSDN писал(а):[in] – память под аргумент занимает вызывающая сторона. Функция может только читать содержимое аргумента.
[out] - память под аргумент занимает функция. Вызывающая сторона должна освободить занятый аргумент.
[in, out] - память под аргумент занимает вызывающая сторона. Функция может освободить занятую память и выделить новую. После возврата управления ответственность за освобождение памяти несет вызывающая сторона.

Вот, что вычитал по данному вопросу.
Хочется услышать комментарии.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Параметры функций из MSDN

Сообщение Admiralisimys » 10.04.2011 (Вс) 23:04

Diamock нужно попрактиковаться с функциями, в которых есть аргументы с данными маркерами.
Пример для in - LoadLibrary, функции для своей работы совершенно не нужно модифицировать путь к библиотеке, перед тем как его передать сами и формируем.
out - пятый аргумент FormatMessage, достаточно (ну и в первом должно быть задействовано FORMAT_MESSAGE_ALLOCATE_BUFFER) передать не инициализированный указатель, выделение и заполнение сделает функция. Потом главное не забыть вызвать LocalFree для данного указателя.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Параметры функций из MSDN

Сообщение Diamock » 11.04.2011 (Пн) 4:53

Admiralisimys, спасибо за ответ. Буду дальше разбираться.
In der Beschrankung zeigt sich erst der Meister
Графоманю...


Вернуться в Windows-программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList