00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00051
00052
00053
00054 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00055 # define WINSTL_VER_WINSTL_TOOLHELP_HPP_SEQUENCE_VALUE_TRAITS_MAJOR 1
00056 # define WINSTL_VER_WINSTL_TOOLHELP_HPP_SEQUENCE_VALUE_TRAITS_MINOR 1
00057 # define WINSTL_VER_WINSTL_TOOLHELP_HPP_SEQUENCE_VALUE_TRAITS_REVISION 4
00058 # define WINSTL_VER_WINSTL_TOOLHELP_HPP_SEQUENCE_VALUE_TRAITS_EDIT 8
00059 #endif
00060
00061
00062
00063
00064
00065
00066 #ifndef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_VALUE
00067 # error This file cannot be included independently, but only within one of the toolhelp sequence specialisation headers
00068 #endif
00069 #ifndef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FIRST
00070 # error This file cannot be included independently, but only within one of the toolhelp sequence specialisation headers
00071 #endif
00072 #ifndef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_NEXT
00073 # error This file cannot be included independently, but only within one of the toolhelp sequence specialisation headers
00074 #endif
00075 #ifndef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FLAG
00076 # error This file cannot be included independently, but only within one of the toolhelp sequence specialisation headers
00077 #endif
00078
00079 STLSOFT_TEMPLATE_SPECIALISATION
00080 struct th_sequence_value_traits<WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_VALUE>
00081 {
00082 typedef HANDLE handle_type;
00083 typedef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_VALUE value_type;
00084
00085 static handle_type null_handle()
00086 {
00087 return NULL;
00088 }
00089
00090 static handle_type invalid_handle()
00091 {
00092 return INVALID_HANDLE_VALUE;
00093 }
00094
00095 static DWORD flag()
00096 {
00097 return WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FLAG;
00098 }
00099
00100 static bool first(handle_type snapshot, value_type& value)
00101 {
00102 return (WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FIRST(snapshot, &value) != FALSE);
00103 }
00104
00105 static bool next(handle_type snapshot, value_type& value)
00106 {
00107 value.dwSize = sizeof(value);
00108 return (WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_NEXT(snapshot, &value) != FALSE);
00109 }
00110
00111 static LPCTSTR create_snapshot_fail_message()
00112 {
00113 return WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_CREATE_SNAPSHOT_FAIL_MESSAGE;
00114 }
00115 };
00116
00117
00118 #undef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_VALUE
00119 #undef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FIRST
00120 #undef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_NEXT
00121 #undef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_FLAG
00122 #undef WINSTL_TH_API_SEQUENCE_VALUE_TRAITS_CREATE_SNAPSHOT_FAIL_MESSAGE