当调用该函数时,你传递一个以0 结尾的字符串,用于设定加载到调用进程的地址空间的可执行文件或D L L 文件的名字。如果系统找到了指定的可 执行文件或D L L 文件名,G e t M o d u l e H a n d l e 便返回该可执行文件或D L L 文件映象加载到的基地址。如果系统没有找到该文件,则 返回N U L L 。也可以调用G e t M o d u l e H a n d l e ,为p s z M o d u l e 参数传递N U L L ,G e t M o d u l e H a n d l e 返回调 用的可执行文件的基地址。这正是C 运行期启动代码调用( w ) Wi n M a i n函数时该代码执行的操作。
请记住G e t M o d u l e H a n d l e 函数的两个重要特性。首先,它只查看调用进程的地址空间。如果调用进程不使用常用的对话框函数,那么 调用G e t M o d u l e H a n d l e 并为它传递“C o m D l g 3 2 ”后,就会返回N U L L ,尽管C o m D l g 3 2 . d l l 可能加载到了其他 进程的地址空间。第二,调用G e t M o d u l e H a n d l e 并传递N U L L 值,就会返回进程的地址空间中可执行文件的基地址。因此,即使通 过包含在D L L 中的代码来调用(N U L L ),返回的值也是可执行文件的基地址,而不是D L L 文件的基地址。
评论