1 use winapi
::shared
::minwindef
::DWORD
;
2 use winapi
::shared
::ntdef
::{LPCWSTR, LPWSTR, PVOID}
;
3 ENUM
!{enum TAG_INFO_LEVEL
{
4 eTagInfoLevelNameFromTag
= 1,
5 eTagInfoLevelNamesReferencingModule
= 2,
6 eTagInfoLevelNameTagMapping
= 3,
13 STRUCT
!{struct TAG_INFO_NAME_FROM_TAG_IN_PARAMS
{
17 pub type PTAG_INFO_NAME_FROM_TAG_IN_PARAMS
= *mut TAG_INFO_NAME_FROM_TAG_IN_PARAMS
;
18 STRUCT
!{struct TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
{
22 pub type PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS
= *mut TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
;
23 STRUCT
!{struct TAG_INFO_NAME_FROM_TAG
{
24 InParams
: TAG_INFO_NAME_FROM_TAG_IN_PARAMS
,
25 OutParams
: TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
,
27 pub type PTAG_INFO_NAME_FROM_TAG
= *mut TAG_INFO_NAME_FROM_TAG
;
28 STRUCT
!{struct TAG_INFO_NAMES_REFERENCING_MODULE_IN_PARAMS
{
32 pub type PTAG_INFO_NAMES_REFERENCING_MODULE_IN_PARAMS
=
33 *mut TAG_INFO_NAMES_REFERENCING_MODULE_IN_PARAMS
;
34 STRUCT
!{struct TAG_INFO_NAMES_REFERENCING_MODULE_OUT_PARAMS
{
38 pub type PTAG_INFO_NAMES_REFERENCING_MODULE_OUT_PARAMS
=
39 *mut TAG_INFO_NAMES_REFERENCING_MODULE_OUT_PARAMS
;
40 STRUCT
!{struct TAG_INFO_NAMES_REFERENCING_MODULE
{
41 InParams
: TAG_INFO_NAMES_REFERENCING_MODULE_IN_PARAMS
,
42 OutParams
: TAG_INFO_NAMES_REFERENCING_MODULE_OUT_PARAMS
,
44 pub type PTAG_INFO_NAMES_REFERENCING_MODULE
= *mut TAG_INFO_NAMES_REFERENCING_MODULE
;
45 STRUCT
!{struct TAG_INFO_NAME_TAG_MAPPING_IN_PARAMS
{
48 pub type PTAG_INFO_NAME_TAG_MAPPING_IN_PARAMS
= *mut TAG_INFO_NAME_TAG_MAPPING_IN_PARAMS
;
49 STRUCT
!{struct TAG_INFO_NAME_TAG_MAPPING_ELEMENT
{
55 pub type PTAG_INFO_NAME_TAG_MAPPING_ELEMENT
= *mut TAG_INFO_NAME_TAG_MAPPING_ELEMENT
;
56 STRUCT
!{struct TAG_INFO_NAME_TAG_MAPPING_OUT_PARAMS
{
58 pNameTagMappingElements
: PTAG_INFO_NAME_TAG_MAPPING_ELEMENT
,
60 pub type PTAG_INFO_NAME_TAG_MAPPING_OUT_PARAMS
= *mut TAG_INFO_NAME_TAG_MAPPING_OUT_PARAMS
;
61 STRUCT
!{struct TAG_INFO_NAME_TAG_MAPPING
{
62 InParams
: TAG_INFO_NAME_TAG_MAPPING_IN_PARAMS
,
63 pOutParams
: PTAG_INFO_NAME_TAG_MAPPING_OUT_PARAMS
,
65 pub type PTAG_INFO_NAME_TAG_MAPPING
= *mut TAG_INFO_NAME_TAG_MAPPING
;
66 EXTERN
!{extern "system" {
67 fn I_QueryTagInformation(
68 pszMachineName
: LPCWSTR
,
69 eInfoLevel
: TAG_INFO_LEVEL
,
73 FN
!{stdcall
PQUERY_TAG_INFORMATION(
74 pszMachineName
: LPCWSTR
,
75 eInfoLevel
: TAG_INFO_LEVEL
,