ايران ويج

نسخه‌ی کامل: مقدار بازگشتی تابع GretSystemInfo
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام،

این API (GetSystemInfo) هیچ مقدار بازگشتی نداره
نقل قول: Return value
This function does not return a value.

چطوری میشه چک کرد که تابع با موفقیت اجرا شده؟
چطوری میشه چک کرد که تابع با موفقیت اجرا شده؟

بوسیله یخروجیش :

_Out_ LPSYSTEM_INFO lpSystemInfo

مثال :C++
کد:
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")

void main()
{
  SYSTEM_INFO siSysInfo;

  // Copy the hardware information to the SYSTEM_INFO structure.

  GetSystemInfo(&siSysInfo);

  // Display the contents of the SYSTEM_INFO structure.

  printf("Hardware information: \n");  
  printf("  OEM ID: %u\n", siSysInfo.dwOemId);
  printf("  Number of processors: %u\n",
     siSysInfo.dwNumberOfProcessors);
  printf("  Page size: %u\n", siSysInfo.dwPageSize);
  printf("  Processor type: %u\n", siSysInfo.dwProcessorType);
  printf("  Minimum application address: %lx\n",
     siSysInfo.lpMinimumApplicationAddress);
  printf("  Maximum application address: %lx\n",
     siSysInfo.lpMaximumApplicationAddress);
  printf("  Active processor mask: %u\n",
     siSysInfo.dwActiveProcessorMask);
}
مرسی، ولی اگه من بخوام تو بدافزار ازش استفاده کنم دیگه نمیتونم مطمن بشم که اطلاعات درست میده!

یا منظور شما اینه که اگه تابع درست اجرا نشه، متغیر های داخل استراکچر SYSTEM_INFO خالی (NULL) هست ؟
غمگین - بهینه شده برای ورژن جدید 
اطلاعات سیستم جاری رو میده ک لیستش توی  SYSTEM_INFO
هست!!

تنها در دو حالت حرف شما صحت داره :
1-سیستم عامل زیر ویندوز  2000
2- اگر برنامه 64 بیتی باشه

برای دریافت اطلاعات دقیق  برای برنامه 64 بیتی از تابع  GetNativeSystemInfo function  استفاده کن
این تابع معادل GetSystemInfo در سیستم های 32 بیتی هست

[url=http://msdn.microsoft.com/en-us/library/windows/desktop/ms724340%28v=vs.85%29.aspx][/url]