instead of a struct why not just use int_ptr ?
Global $enc_status[9] = ["FILE_ENCRYPTABLE","FILE_IS_ENCRYPTED", "FILE_SYSTEM_ATTR", "FILE_ROOT_DIR", _
"FILE_SYSTEM_DIR", "FILE_UNKNOWN", "FILE_SYSTEM_NOT_SUPPORT", "FILE_USER_DISALLOWED", "FILE_READ_ONLY"]
$message = "choose a file."
$var = FileOpenDialog($message, ".", "All (*.*)", 1 + 2)
If @error Then
MsgBox(4096, "", "No File(s) chosen")
Else
$Result = DllCall("Advapi32.dll", "int", "FileEncryptionStatus", "str", $var, "int_ptr", 0)
If $Result[0] = 0 Then
_GetLastErrorMessage("Error")
Else
MsgBox(0, "test", $enc_status[$Result[2]])
EndIf
EndIf