C#, C♯, C#相談室 Part98 (392レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
338: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:31:47.59 ID:yzNZC+ym0(1/3) AAS
BOOL TestFunc(DWORD dwType, LPBYTE pBuffer, LPDWORD pcbBufSize);
dwType:欲しいデータのタイプコード
pBuffer:要求したデータを入れるバッファへのポインタ
pcbBufSize:pBufferが指すバッファのサイズ

例えば↑のような関数をエクスポートしてるアンマネージDLLがあって
DllImportする時のプロトタイプ宣言ってどう書いたらいいんでしょ?
339: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 15:33:52.84 ID:yzNZC+ym0(2/3) AAS
LPDWORDはref uintでいいのかなと思うけど
LPBYTEとか、それこそLPVOIDだのハンドル系受け取る引数なんかはどう宣言したものかよく解らなくて
344: デフォルトの名無しさん (ワッチョイ 27d7-kxmC) [sage] 2025/04/16(水) 20:48:46.57 ID:yzNZC+ym0(3/3) AAS
>>340
340(1): デフォルトの名無しさん (ワッチョイ bfbc-6F/1) [sage] 2025/04/16(水) 19:05:55.86 ID:HaWtxdw70(3/3) AAS
典型的にはこう
bool TestFunc(uint dwType, byte[] pBuffer, out uint pcbBufSize);
ref/outで宣言すると使いやすいけどNULLを渡せなくなるってのが問題になったりすることもある
ケースバイケースなので一概には言えない
ポインタが絡むなら誰がメモリ確保して誰がどうやって解放するのかを把握してないといけない場合もある
おぉ、ありがとう
ちょっとそれ元に弄ってみるます
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s