人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VCでプログラムを書いています。教えてください。以下はその抜粋です。ソースコードの途中に質問を書きました。


IMAGE_IMPORT_DESCRIPTOR *plmpDesc;
IMAGE_THUNK_DATA *pThunkINT,*pThunkIAT;
IMAGE_IMPORT_BY_NAME *plmpByName;
ULONG Size;


plmpDesc=(IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToData(hMod,TRUE,IMAGE_DIRECTORY_ENTRY_IMPORT,&Size);
ImageDirectoryEntryToDataの戻りを修飾してplmpDescに代入しています。多分、これでplmpDesc(構造体)に値が代入されると思いますが、ImageDirectoryEntryToDataの定義を見るとPVOIDがついていました。どうしてこの式が成り立つのかわからないので教えてください。

while(plmpDesc->Name){
pThunkINT=(IMAGE_THUNK_DATA*)((BYTE*)hMod+plmpDesc->OriginalFirstThunk);
}
上記も同様な疑問です。どうしてhMod+plmpDesc->OriginalFirstThunkの演算結果を代入できるのでしょうか?
while(pThunkINT->u1.Function){
sprintf(strDummy,"%x\t",int((PROC)pThunkIAT->u1.Function));
my_fputs_write1(strDummy);
}
最後ですが、int((PROC)pThunkIAT->u1.Functionのu1.Functionは関数でもないのでどうしてPROCとできるのでしょうか?

●質問者: mai_mai_mail
●カテゴリ:コンピュータ インターネット
○ 状態 :キャンセル
└ 回答数 : 0/0件

回答がありません
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ