FORMAT_MESSAGE.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. namespace Microsoft.Win32
  2. {
  3. //FORMAT_MESSAGE定义
  4. public static partial class NativeMethods
  5. {
  6. /// <summary>
  7. /// 函数会分配一个足够大的缓冲区保存格式化消息,并且通过lpBuffer指向该地址。
  8. /// </summary>
  9. public const int FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100;
  10. /// <summary>
  11. /// 消息定义中的插入序列会被一直忽略和跳过直到输出缓冲区不改变,并且Arguments会被忽略。
  12. /// </summary>
  13. public const int FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200;
  14. /// <summary>
  15. /// lpSource参数是一个指向以NULL结尾的字符串,字符串包含一个消息定义,这个消息定义可以包含插入序列。此标志最好不要和FORMAT_MESSAGE_FROM_HMODULE或者FORMAT_MESSAGE_FROM_SYSTEM使用
  16. /// </summary>
  17. public const int FORMAT_MESSAGE_FROM_STRING = 0x00000400;
  18. /// <summary>
  19. /// lpSource参数是需要去搜索的一个包含消息表的模块线程。如果lpSource是NULL,当前进程的应用图像会被搜索,这个标志不能同FORMAT_MESSAGE_FROM_STRING使用。
  20. /// </summary>
  21. public const int FORMAT_MESSAGE_FROM_HMODULE = 0x00000800;
  22. /// <summary>
  23. /// 函数会为了请求的信息而搜索系统的消息表资源。如果标志同时也指定了FORMAT_MESSAGE_FROM_HMODULE,那么函数会先在lpSource指定的模块中搜索请求的消息,如果搜索不到,就去搜索系统消息表资源。此标志不能与FORMAT_MESSAGE_FROM_STRING使用。
  24. /// </summary>
  25. public const int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000;
  26. /// <summary>
  27. /// Arguments参数不是指向va_list结构体,但是是一个指向保存参数的数据。
  28. /// </summary>
  29. public const int FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000;
  30. /// <summary>
  31. /// 掩码
  32. /// </summary>
  33. public const int FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF;
  34. }
  35. }