В некоторых документах в Win32API Ruby есть 'L'
и 'N'
для указания «числа» ... а в некоторых документах 'L'
- «длинный». 'N'
устарела и не является 'L'
такой же, как 'I'
на самом деле? «Число» несколько не столь специфично.
В
http://rubyforge.org/docman/view.php/85/3463/API.html#M000001
Нет логического параметра как 'B'
или 'I'
, только возвращаемое значение ...
В
http://www.ruby -doc.org / STDLIB / libdoc / Win32API / RDoc / классы / Win32 / Реестр / error.html # M001622
Есть
Win32API.new('kernel32.dll', 'FormatMessageA', 'LPLLPLP', 'L')
вместо более распространенного ['L', 'P', 'L', ...]
формата
hWnd
- это 'L'
и, следовательно, 'I'
тоже будет работать? (hWnd
это ручка к окну)
Логический параметр равен 'B'
и совпадает с 'I'
?
Итак, в основном, мы можем использовать большинство вещей как 'I'
? Даже 'P'
должен быть 4-байтовым, так что 'I'
также должен работать? Есть ли более формальная спецификация?
Обновление: Теперь, когда я больше думаю о 'P'
, он на самом деле будет использовать объект класса String в Ruby, возьмет часть буфера содержимого и передаст его в функцию C. Поэтому использование 'I'
, вероятно, не вызовет такого поведения. (пример: например, использование GetWindowText()
)