FASM - 如果文件存在 - 使用GetFileAttributes - INVALID_FILE_ATTRIBUTES值?

Jos*_*ine 2 assembly winapi file-exists fasm

我在FASM中使用GetFileAttributesA来确定文件是否存在.我知道如果文件不存在,返回值将为INVALID_FILE_ATTRIBUTES,但我不知道如何检查此值.

我的代码:

invoke GetFileAttributes,lpFileName
cmp    eax,IDK WHAT TO CHECK FOR
je     notfound
jne    found
invoke ExitProcess,0
Run Code Online (Sandbox Code Playgroud)

看作编译器无法将INVALID_FILE_ATTRIBUTES识别为值:

cmp    eax,INVALID_FILE_ATTRIBUTES
Run Code Online (Sandbox Code Playgroud)

不管用.

有没有人知道这个常数的值,所以我可以手动输入它?

任何帮助表示赞赏.谢谢


在JensBjörnhager的回复之后,以下是其他任何感兴趣的人的工作代码:

invoke GetFileAttributes,lpFileName
cmp    eax,-1
je     notfound
jne    found
invoke ExitProcess,0 
Run Code Online (Sandbox Code Playgroud)

甚至:

invoke GetFileAttributes,lpFileName
cmp    eax,$ffffffff
je     notfound
jne    found
invoke ExitProcess,0 
Run Code Online (Sandbox Code Playgroud)

再次感谢JensBjörnhager!

Jen*_*ger 5

INVALID_FILE_ATTRIBUTES被定义为-1($ ffffffff),所以检查一下.