Win32API質問箱 Build125

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/02/27(水) 15:09:08.64ID:6ExXwgQU
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build124
http://mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/

■関連スレ
Visual Studio 2019
http://mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
http://mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
http://mevius.5ch.net/test/read.cgi/tech/1521786252/
2019/10/01(火) 22:51:24.51ID:93GMDhBd
チコちゃんもといカコちゃんみたいな
2019/10/02(水) 06:50:57.68ID:c9vI97O0
> win32apiプログラミングにおけるapiの仕様やsizeofの使用頻度を考えたら括弧付きが自然なのは周知の事実なんだから
理由もメチャクチャだし周知とかアホすぎる

> それにセンスが何ちゃらと難癖付けてるのはwin32apiプログラミングしてないアホでしょ
>>430出ましたw
2019/10/02(水) 10:31:29.32ID:y1aZWk4e
スレタイ読まないカコちゃんまた来たの?頭弱いね
2019/10/02(水) 11:02:31.08ID:I2VMZsV4
sizeofに括弧つけるかどうかなんて
正直どうでも良くね?
2019/10/02(水) 11:33:56.30ID:Jzurp0++
構造体にサイズ入れることが一番多いからあんまつけないな
437デフォルトの名無しさん
垢版 |
2019/10/02(水) 13:04:47.75ID:55+aQRnY
64bit化してからHOGE_PTRが増えてさらに混乱
2019/10/07(月) 18:52:52.31ID:gF1mLPnp
sizeof付けるの嫌ならラッパー作ってそっちで呼び出せよ
win32APIの仕様がそーなるんだからしかたねーじゃん。手続き通りに記述するしかない。
2019/10/07(月) 20:15:04.08ID:WFXsDvHg
perlでWin32APIを使うライブラリWin32::APIを使ってると、
32bitと64bitで異なる構造体のアラインメントを正しく解釈してくれないので、アセンブラ並みに低レベルな記述が必要になることがある。
2019/10/07(月) 21:01:12.36ID:Byy1mx9U
cからperl呼ぶのも腐ってるな
2019/10/07(月) 22:23:56.51ID:WFXsDvHg
>>440
世の中には発酵食品が沢山ある。
発酵 腐敗 熟成 の違いを見極めるのは難しい。
2019/10/09(水) 21:21:44.79ID:ggd9iNPq
質問です。
SetFilePointer()
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfilepointer
を FILE_END で使ったことのある方はおられますか?

第3引数 PLONG lpDistanceToMoveHigh を 0 (そして第 2 引数 LONG lDistanceToMove も 0 )で使うと、FILE_END であっても当のファイルが 4GB 以上の場合にはポインタがファイルの最後に設定されない現象があるようです
この場合ダミー変数(毎回 0 を投入している)を設けて lpDistanceToMoveHigh にそのアドレスを設定すると FILE_END がその本来の意味を示すようにみえます。
推量形で記述しているのは、私の環境(mingw64-gcc)ではコンパイラのオプティマイザが過剰に効いている可能性があり -O0 でコンパイルしてはじめて、ある程度この現象が確認できたという事情のためです。

これは一般的な話なのでしょうか?
2019/10/09(水) 21:24:08.20ID:ggd9iNPq
>>442
ソースを晒します
https://ideone.com/riD8Jc
2019/10/09(水) 21:49:31.92ID:75Pp/Qaq
longの場所になぜintを使う
2019/10/09(水) 22:06:12.13ID:ggd9iNPq
>>444
printf("sizeof(int):%d, sizeof(LONG):%d\n", sizeof(int), sizeof(LONG));
$ ./a.exe
sizeof(int):4, sizeof(LONG):4
2019/10/09(水) 22:12:20.45ID:wmrCsqX1
lpDistanceToMoveHighがNULLの時のFILE_ENDは単純にファイルサイズも下位32bitだけ見て処理してそう
でかいファイル扱うなら素直にSetFilePointerEx使った方がよさげ
2019/10/09(水) 22:39:59.07ID:ggd9iNPq
>>446
*Ex には気がつきませんでした

昔書いたものをみると
s1 = GetFileSize(f, &s2);
SetFilePointer(f, s1, (PLONG)&s2, FILE_BEGIN);
WriteFile(f, p, strlen(p), &n, 0);
ってやっていましたから、どうも、昔も同じところで嵌ったらしく、お茶を濁す方法まで昔と同じのまま、しかもその記憶が今はない…
もうなにもかも忘れてしまった…

コメントありがとうございました
2019/10/15(火) 14:52:27.44ID:iJLx9DXs
書き込むなよクソコテの分際で
2019/10/15(火) 19:34:41.89ID:6pml1OhP
みんなクソだと思ってたけど
2019/10/15(火) 20:02:45.72ID:M5SL5EtX
そうなんだ
病気だね
2019/10/15(火) 20:59:08.69ID:H14rNUWV
こんな場所でこんなクソ書き込みしてるくせに自身のクソさ加減に気付かないなんて病気だぞ☆
2019/10/15(火) 22:41:36.61ID:72mqelru
そうなんだ
病気だね
2019/10/17(木) 09:57:15.46ID:z4eLhP/Z
PCが複数のネットワークにつながっています。
IUPnPDeviceFinderで検索するネットワークを指定するのはどうしたらいいのでしょう?
2019/10/21(月) 22:12:09.79ID:EXgPOVjA
CSPのハンドルであるHCRYPTPROVなんだけど、
これってスレッドセーフ?
具体的には、同じハンドル使って別スレッドで同時にCryptGenRandom()呼んでも大丈夫なものなの?

Goのcrypt/randが排他せずに同じハンドルで呼んでいて気になったんで
2019/10/21(月) 23:03:30.44ID:xGMxn7s7
7から10にしたらこんな感じで画面外の領域が描画されなくなってしまいました ttps://i.imgur.com/IjNvIme.png
Windows10で画面外の領域を描画させるような関数か方法はありますか?
InvalidateRect、UpdateWindow、RedrawWindow、PrintWindow、DwmGetDxSharedSurfaceは試しましたが無理そうです
ソースです ttps://dotup.org/uploda/dotup.org1975774.cpp.html
2019/10/21(月) 23:12:02.12ID:LVq8IpRv
>>455
CreateDC("DISPLAY", ...)
CAPTUREBLT
2019/10/22(火) 00:53:22.73ID:VVF85bpK
>>456
CreateDCではディスプレイに表示されてる領域のデバイスコンテキストしか取得できませんでした
ウィンドウの外ではなく、ディスプレイの外に出ている領域を取得したいのです
CAPTUREBLTは単体だと真っ黒、SRCCOPYと一緒に指定してもSRCCOPY単体と変化はありませんでした
2019/10/22(火) 01:13:45.23ID:tgq7+oc3
455に貼ってるスクショでは単に5chのページが途中までしか描画されないように
見えるだけで、"画面外の領域"の意味がよく分からんが・・・・

それはともかく、実は管理者権限で実行するといけちゃうとか?
2019/10/22(火) 02:01:10.02ID:VVF85bpK
>>458
別アプリ(画像ではブラウザ)をSetWindowPosでウィンドウの一部がディスプレイの外に出る位置に移動して
そのウィンドウの内容をBitBltで取得して自分のウィンドウに表示してるんですが
ディスプレイに表示されてないディスプレイの外に出た部分が真っ白になってしまいます
すいません、説明下手なのでソースを見てもらえると助かります
2019/10/22(火) 02:29:09.84ID:rKj5dIYC
まともに説明もできないソースだとそもそも何したいのかわからないほどのバグな気がする
2019/10/22(火) 02:57:41.77ID:tgq7+oc3
対象となるアプリのスクショを取るようなアプリでOK?

面倒なので試さないけど、単に画面外に描画しても無駄なので描画してない
だけのような気がするが、その理屈なら画面外ではなくその上に別ウィンドウを
表示させるとどうなるんだろうなってことと、対象アプリがブラウザ以外だと
どうなるんだろうなってことなど突き詰めたい項目が(面倒くさくなり以下略
2019/10/22(火) 09:19:42.21ID:cLGxu2gX
Windows7でaero有効なら画面に見えていないウィンドウからbitbltできるが、10でaero廃止されたのが
関係しているのかな。
10でもタスクバーのウィンドウプレビューは表示されるから7と同じようにできてもいいとは思うが。
2019/10/22(火) 09:22:47.36ID:swuil85R
10でも取れるぞ。これは確実
ソース見てないから原因はしらね
2019/10/22(火) 12:27:17.50ID:VVF85bpK
>>461
OKです
デスクトップのデバイスコンテキストから転送すると上にある別ウィンドウの画像込みになりますが
対象アプリのデバイスコンテキストから転送すると対象アプリの画像だけを取得できます
対象はブラウザ以外でも描画されない部分が白か黒かの違いだけです ttps://i.imgur.com/Mm7HOQP.png

>>462
プレビューでも描画されないです ttps://imgur.com/ATYh4ng
465デフォルトの名無しさん
垢版 |
2019/10/22(火) 13:41:14.15ID:fxbuxtP/
画面コピー貼る前にソース貼れ
2019/10/22(火) 13:44:24.15ID:afWm6mlf
>>464
早く解決したいのだったらソースを貼らないと
2019/10/22(火) 13:47:22.65ID:PRXTlxOV
そのコードだとキャプチャできないのは確認したけどプレビューまではそんな風にならんな
なんとなくOS自体の省力設定に連動して
OSがクリップしてる or アプリ自身のクリップを引き起こしてる臭いけど


新しめのキャプチャAPIだと↓

https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/screen-capture
2019/10/22(火) 13:55:50.74ID:PRXTlxOV
補足、そっからじゃC++のデスクトップアプリからの使い方がわかんねえな

https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/tree/master/cpp/ScreenCaptureforHWND
2019/10/22(火) 14:05:08.56ID:VVF85bpK
>>465
>>466
>>455 で張ってますが落とせないとかありますか?
別のろだで用意したほうがいいですか?

>>467
うちだと実機でも仮想PCでもプレビュー欠けてるんですよね
仮想PCに新規でWin10入れて確かめてみます
C++のソースありがたいです。試してきます
470デフォルトの名無しさん
垢版 |
2019/10/22(火) 14:09:15.53ID:fxbuxtP/
一度memdcにコピーする手間があったような
2019/10/22(火) 14:32:05.02ID:cLGxu2gX
俺も>>455と同じようなキャプチャソフトを自作してたんで今win10で試してみたが
ウィンドウが画面外にはみ出しているからといってキャプチャできないことはないな。
プレビューが欠けるということもなかったが。

>>464
プレビューが欠けるのが特定のアプリだけならそのアプリの問題だろうから
あきらめるしかないだろうねえ。
どのアプリでも欠けるとしたらwindowsの設定かGPUの問題かなにかかな。
2019/10/22(火) 15:53:33.65ID:VVF85bpK
クリーンインストールWin10でも症状変わらず
ScreenCaptureforHWNDも変わりませんでした

>>471
画面内で表示してから画面外に移動してキャプチャしてませんか?
キャプチャはできても更新がされない感じなので
移動してから内容更新するとキャプチャ画像とプレビューがこうなります ttps://imgur.com/9IQYBMH
2019/10/22(火) 16:05:23.75ID:cLGxu2gX
それをedgeとかでやっても同じなん?
動画を表示していもプレビューは随時更新されるが、ふつう。
2019/10/22(火) 16:09:29.85ID:tgq7+oc3
他のキャプチャソフトではどうなるの?っと
2019/10/22(火) 17:18:39.23ID:An+rmEaC
コンパイラ設定がxp互換だと撮れないってのもあるな
47649
垢版 |
2019/10/22(火) 17:33:47.67ID:8AVeU+tz
そもそも何がしたいのか分からない。
2019/10/22(火) 18:06:58.79ID:PRXTlxOV
こっちで試してる限りでもいまいち挙動に一貫性がなくて確証は無いんだが
そのWaterfoxってのだけ更新時に画面外のレンダリングを省いてるのはプレビューで確認できたんで
検証するのにそれは外した方がいいな

画面外に出たアプリのWM_PAINTでrcPaintが差分を返すのは正常な挙動なので
アプリ自体の画面更新と内容の取得のタイミングによってはプレビューがそうなる理屈は説明できる
キャプチャに用いているBitBltとも内容が異なるのはGDIとDWMでは見てるバッファが違うのかもしれない

ただ全部のアプリがそうなるとなるとこっちじゃ現象自体が確認できないのでなんとも
478455
垢版 |
2019/10/22(火) 21:17:47.98ID:VVF85bpK
>>473
>>477
Firefox、Waterfox、Chrome、VisualStudio2019、MPCBE、ペイント、メモ帳
画面外に出た部分はプレビュー更新されないし、BitBltも更新されてない画像しか取れない

Edge、フォト
画面外に出た部分もプレビュー更新される、BitBltでは画面内でも画像が取れない

IE
画面外に出た部分もプレビュー更新される、BitBltでは画像が取れたり取れなかったり不安定

動画です https://dotup.org/uploda/dotup.org1976519.mp4.html

>>474
Loiloだと画面外は真っ黒でした。他は名前言ってもらえれば試します

>>475
x64でプラットフォームツールセットはVisual Studio 2019(v142)なのでXP互換ではないと思います

>>476
ウィンドウの一部が画面外に出ても、ウィンドウがすべて画面内にあるのと同じようにキャプチャしたいです
2019/10/22(火) 21:59:23.80ID:JI3aTgMm
ディスプレイ外にはみ出した窓があってそのはみ出したリージョン内で表示更新かかってて
そいつを ALT+PrtScr でキャプチャしてもうまく取れてないなら厳しいんでないかな
2019/10/22(火) 22:11:54.49ID:An+rmEaC
俺自作のソフトはキャプチャできるが、ALT+PrtScrはキャプチャできん@win10
2019/10/22(火) 22:35:32.44ID:YGRhwcPr
グラボに依存とか?
2019/10/22(火) 22:54:01.75ID:cLGxu2gX
>>478
なるほど、ペイントで現象確認した。
GPUリソースを食わないよう改善した結果とかかねえ。
2019/10/22(火) 22:56:43.07ID:HSQTG8Jj
どうなんだろう。BitBlt(,,,SRCCOPY | CAPTUREBLT) しか方法ないのかね。
484デフォルトの名無しさん
垢版 |
2019/10/22(火) 23:00:04.93ID:GE3t6WX1
2段階のアクセラレータはどのようにやるのがいいの?
Visual Studio のCtrl+K Bみたいな・・・
2019/10/22(火) 23:03:39.56ID:QN5InCe0
>>484
アクセスキーテーブル切り替えか、
状態遷移だろうよ。
2019/10/22(火) 23:10:21.12ID:PRXTlxOV
なんかだんだんワケがわからなくなってきたが再度確認したら
基本的にUWPアプリ以外は画面外の再描画しないっぽいな(Chromium系はやっぱり描画されてるけど)
ほとんどのアプリが律義にrcPaint見てるとも思えんし描画先がGDIだと強制的にOSでクリップされてんのかしら?

おそらくWindows Compositionが噛んでてBitBltで取れないUWPアプリはWindows.Graphics.Captureで取れるけど
UWPアプリ以外でクリップ済みのイメージしか取れないのはまあ当然っちゃ当然
2019/10/22(火) 23:28:56.03ID:An+rmEaC
win10でUWPでない従来のアプリの画面外キャプチャできるよ
win7がaeroオフだと撮れなかったみたいに何らかの条件があるのかもしれないが
488デフォルトの名無しさん
垢版 |
2019/10/23(水) 00:49:00.28ID:/s0IRa9G
Mozilla Firefoxなどサードパーティ大手は今もWin32APIをネイティブに使っており.NETは使ってない。
489デフォルトの名無しさん
垢版 |
2019/10/23(水) 01:17:59.09ID:VREi5cKF
エクスプローラのアドレスバーで「デスクトップ」とか「ダウンロード」って入れたら
そこのパスに移動しますが、「デスクトップ」(という日本語)からパスに変換するAPIはありますか?
2019/10/23(水) 01:29:37.00ID:DFr4VJRt
>>489
SHGetLocalizedNameの逆写像っぽい。CSIDLからテーブルを作るのが楽かと。
491デフォルトの名無しさん
垢版 |
2019/10/23(水) 01:33:15.99ID:VREi5cKF
あれ?なんか上の方に同じような質問がw
2019/10/23(水) 01:52:47.01ID:VREi5cKF
なんかめちゃくちゃめんどくさそうw
493デフォルトの名無しさん
垢版 |
2019/10/23(水) 02:38:41.47ID:/s0IRa9G
SHGetFolderPath() でCSIDLコンプリートをめざすとか
2019/10/23(水) 03:33:00.02ID:bxABcYeD
https://github.com/katahiromz/SHVistaPathMap
作ったぞ。自由に使え。
495デフォルトの名無しさん
垢版 |
2019/10/23(水) 04:05:49.94ID:/s0IRa9G
>>494
早いですね。
とはいえ、実在するパスからの逆引きだと、「コントロール パネル」とか「プリンター」みたいな仮想フォルダ名は取れない。
2019/10/23(水) 04:20:43.92ID:DFr4VJRt
仮想フォルダならPIDLを使うのではないか?
2019/10/23(水) 04:23:26.39ID:DFr4VJRt
PIDLとGUIDをどうやれば結び付けられるか? え〜と
2019/10/23(水) 04:25:53.53ID:DFr4VJRt
https://stackoverflow.com/questions/31480239/how-to-get-a-pidl-from-a-windows-librarys-guid
ここにヒントが。
2019/10/23(水) 04:32:28.94ID:DFr4VJRt
落ちます。
2019/10/23(水) 04:40:22.67ID:DFr4VJRt
仮想フォルダならレジストリを見る方法があるが、KnownFolderの方が正しい方法に思える。
501デフォルトの名無しさん
垢版 |
2019/10/23(水) 04:47:44.97ID:/s0IRa9G
WTL公式gitレポジトリにあるエクスプローラもどきアプリのサンプルが参考になるかも。
https://sourceforge.net/p/wtl/git/ci/master/tree/Samples/WTLExplorer/
2019/10/23(水) 12:55:03.32ID:hZZQZDty
画面外のスクショが取れない件、1809からの挙動のようだねえ

https://stackoverflow.com/questions/54572498/manipulate-system-visible-clipping-region-in-windows-1809
2019/10/23(水) 12:59:02.01ID:ou8vQa3g
>>502
日本語で
504デフォルトの名無しさん
垢版 |
2019/10/23(水) 15:31:41.90ID:J1BMEu9t
いや判るだろ

1809 update 入れた後に可笑しくなったんだろω
505455
垢版 |
2019/10/23(水) 21:03:31.35ID:i0lmBL5A
1809以降の挙動ならプログラムじゃなくてWindows側の問題みたいですね
BitBltだけじゃなくプレビューにも問題出てるからバグっぽいですし
そのうちアップデートで治ることを期待しつつプログラムでの対応は諦めます
いろいろ答えてくれた皆様ありがとうございました
2019/10/23(水) 22:21:30.01ID:bxABcYeD
やっぱりKnownFolderから取得できた。
https://github.com/katahiromz/SHVistaPathMap/blob/master/dump.cpp
自由に使え。
2019/10/23(水) 23:01:48.53ID:bxABcYeD
揚げ物
2019/10/24(木) 00:20:06.38ID:ywNA7G1O
ありがとう。だがしかし別のアプローチで
俺が解決したい(本当の)問題は解決できていたのだよ

まあ誰かの役に立つだろうから放っておいたけどな
すまんなwww
2019/10/24(木) 00:41:12.27ID:Fw8n9fLr
アップデートで直るかっちゅーても挙動自体は描画の最適化とも言えるので仕様としてこのままいきそうだけどなあ

自作ので試してみたけどやはり一部でも画面外に出てると無効領域をクライアント全体と指定しても
強制的にクリップされたHDCが返ってくるね
BeginPaintだけじゃなくてWM_PAINT外でのGetDCでも同様
DXGI swap chainが出力先ならクリップされない

普段窓を画面外に追い出したままにするってことがないから気付かなかったなコレ
510デフォルトの名無しさん
垢版 |
2019/11/04(月) 15:23:29.75ID:/C5zJSxn
SetForegroundWindowでフォーカスを奪えない、
入力中にフォーカスが奪われるとウザいからWindowsが
奪えないようにしてるって話はよく聞くと思うけど

逆にエクスプローラが起動すると(バックグラウンドなのに)
フォーカスを奪ってくれて困ってるんだけど対応策ない?
ウザいんだがw
2019/11/04(月) 15:58:26.30ID:fwURXfb5
>>447
さらに追試を重ねていました
悪いときは 10G, うまくいっても 5000G 程度(日によってばらばらです)で
FILE_END ができなくなる現象は、
FILE_END が悪いのではなく、システムで圧縮するように指定するとそういうことがおきることがわかってきました。

Windows もいろいろとあてにならない、もう linux に軸足を移そうか、と思案しています
2019/11/04(月) 16:19:56.83ID:1IiqNDSP
>>510
SetFocus()を使うと好きなコントロールにフォーカスを与えることが出来る。
SetForegroundWindow()は余り効果が無い。
2019/11/04(月) 16:52:05.66ID:KwYoxUXo
longポインタ引数にintポインタ渡して>>445みたいなトンチンカンな返答する人が何か言ってる
2019/11/04(月) 18:29:13.81ID:fwURXfb5
>>513
>>445 を日本語に翻訳してみました。
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfilepointer
では api 関数の第二引数は 「LONG」で定義されています。
ここで注意しないといけないのは「long」ではなくて「LONG」。
すなわち LONG は win32api.h で定義されている型です。これが実際の環境ではどう typedef されているかは環境依存です。
それを調べるために >>445 で実際に sizeof(LONG) の値を出力させると sizeof(LONG) = 4
私は >>443 で第二引数に int (そして渡す値は 0) を使っていますが sizeof(int) = 4
値は 0 だから signed/unsigned については問題ない
そして sizeof(int) = sizeof(LONG) だからなおさら問題ないのです。
昔は DWORD (Double WORD) と定義されていましたが、1 word = 2 bytes, 2 words = 4 bytes
32bit 環境での普通の int のサイズは 4 なので昔から int を当てて問題なかったのですよ

結論:>>513 >>444 はニワカ、win32api スレに投稿する前に 10 年 ROM ってください
2019/11/04(月) 18:55:51.87ID:KwYoxUXo
>>514
445のどこがWindows環境?
2019/11/04(月) 19:29:40.39ID:ex697rOI
DOS窓でprintf出力しながらWin32APIだって使えるからWin環境
2019/11/04(月) 20:03:10.14ID:xxqq9QlV
LONGは、WPARAMやLPARAMと型変換する危険コードが多い気が。もちろん古いコードだけど。
2019/11/04(月) 20:32:15.68ID:fwURXfb5
>>515
だから、あなたは 10 年 ROM ってなさい、ってさっき言ったでしょう?
2019/11/04(月) 23:46:10.01ID:hiiCgg8I
ここはWin32スレなんだからWin64や総称であるWindows APIはスレ違い
32ビットの話だけしてろ
2019/11/05(火) 00:15:09.88ID:SbnLKNM3
>>519
残念ながらその意見に賛同する人は少数派だと思いますよ
2019/11/05(火) 01:54:03.16ID:RTdVMJgD
Win64APIなんてどっから出てきたの?
522デフォルトの名無しさん
垢版 |
2019/11/05(火) 11:28:00.41ID:f5fZl2jz
> 昔は DWORD (Double WORD) と定義されていましたが
LPARAMは 16bit,32bit共に LONG (符号付整数)
2019/11/05(火) 11:48:37.07ID:McETm4vA
>>519
64bitプログラミングであっても使用するAPIは実体としてはWin32APIだぞ
Win64APIなんて実体はなく、論理的に実装区分として呼び分ける程度
つまりスレチでも何でもない
2019/11/05(火) 19:37:14.92ID:wVD+ILW8
double wordが32bitだなんて本来word幅が16bitという前提の話でインテルなら80286までのはずが386でパスされathlon64で再びパスされるという異常事態が今も続いているわけなんだが
2019/11/05(火) 20:20:06.81ID:Rmlz0hln
>>524
16bit CPUや32bit CPUという言葉と
ポインタ = アドレス幅が違うことは普通にあるってわかってる?

8086は16bit CPUでレジスタ幅は16bitだがアドレス幅は20bit(最大1MB)
80286も16bit CPUだがアドレス幅は24bit(最大16MB)

80386は32bit CPUでレジスタ幅、アドレス幅ともに32bitで
分かりやすい時代がPentiumの第一世代(1995年ぐらい)ぐらいまで続いたが
Pentium Proからは物理アドレス拡張が搭載され32bit CPUだが
アドレスバスは36bit(最大64GB)になったんだが
2019/11/05(火) 20:52:13.30ID:mHpC8FDb
>>525
釈迦に説法ご苦労
2019/11/05(火) 21:08:53.99ID:Rmlz0hln
釈迦は俺やしw
2019/11/05(火) 21:43:32.83ID:mHpC8FDb
俺メインフレームでdiagnose命令とかいじくってて
別な案件でhdlでcpu書いたりしてるけど
2019/11/06(水) 01:32:27.55ID:k1IDaN6Q
メインフレームw
何歳になってもイキリ小僧してるんだな
サルのパパとママはご存命かい?
2019/11/06(水) 02:20:55.89ID:71FJFoA8
>>529
何イキっとんねん
2019/11/06(水) 04:07:48.25ID:Z1mcKm+J
イキなりえなり
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況