summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/shared/wmistr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/shared/wmistr.rs')
-rw-r--r--vendor/winapi/src/shared/wmistr.rs199
1 files changed, 199 insertions, 0 deletions
diff --git a/vendor/winapi/src/shared/wmistr.rs b/vendor/winapi/src/shared/wmistr.rs
new file mode 100644
index 0000000..35374e9
--- /dev/null
+++ b/vendor/winapi/src/shared/wmistr.rs
@@ -0,0 +1,199 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use shared::basetsd::{ULONG64, ULONG_PTR};
+use shared::guiddef::GUID;
+use shared::minwindef::{UCHAR, ULONG};
+use um::winnt::{HANDLE, LARGE_INTEGER, STANDARD_RIGHTS_READ, SYNCHRONIZE, WCHAR};
+STRUCT!{struct WNODE_HEADER_u1_s {
+ Version: ULONG,
+ Linkage: ULONG,
+}}
+UNION!{union WNODE_HEADER_u1 {
+ [u64; 1],
+ HistoricalContext HistoricalContext_mut: ULONG64,
+ s s_mut: WNODE_HEADER_u1_s,
+}}
+UNION!{union WNODE_HEADER_u2 {
+ [u64; 1],
+ CountLost CountLost_mut: ULONG,
+ KernelHandle KernelHandle_mut: HANDLE,
+ TimeStamp TimeStamp_mut: LARGE_INTEGER,
+}}
+STRUCT!{struct WNODE_HEADER {
+ BufferSize: ULONG,
+ ProviderId: ULONG,
+ u1: WNODE_HEADER_u1,
+ u2: WNODE_HEADER_u2,
+ Guid: GUID,
+ ClientContext: ULONG,
+ Flags: ULONG,
+}}
+pub type PWNODE_HEADER = *mut WNODE_HEADER;
+pub const WNODE_FLAG_ALL_DATA: ULONG = 0x00000001;
+pub const WNODE_FLAG_SINGLE_INSTANCE: ULONG = 0x00000002;
+pub const WNODE_FLAG_SINGLE_ITEM: ULONG = 0x00000004;
+pub const WNODE_FLAG_EVENT_ITEM: ULONG = 0x00000008;
+pub const WNODE_FLAG_FIXED_INSTANCE_SIZE: ULONG = 0x00000010;
+pub const WNODE_FLAG_TOO_SMALL: ULONG = 0x00000020;
+pub const WNODE_FLAG_INSTANCES_SAME: ULONG = 0x00000040;
+pub const WNODE_FLAG_STATIC_INSTANCE_NAMES: ULONG = 0x00000080;
+pub const WNODE_FLAG_INTERNAL: ULONG = 0x00000100;
+pub const WNODE_FLAG_USE_TIMESTAMP: ULONG = 0x00000200;
+pub const WNODE_FLAG_PERSIST_EVENT: ULONG = 0x00000400;
+pub const WNODE_FLAG_EVENT_REFERENCE: ULONG = 0x00002000;
+pub const WNODE_FLAG_ANSI_INSTANCENAMES: ULONG = 0x00004000;
+pub const WNODE_FLAG_METHOD_ITEM: ULONG = 0x00008000;
+pub const WNODE_FLAG_PDO_INSTANCE_NAMES: ULONG = 0x00010000;
+pub const WNODE_FLAG_TRACED_GUID: ULONG = 0x00020000;
+pub const WNODE_FLAG_LOG_WNODE: ULONG = 0x00040000;
+pub const WNODE_FLAG_USE_GUID_PTR: ULONG = 0x00080000;
+pub const WNODE_FLAG_USE_MOF_PTR: ULONG = 0x00100000;
+pub const WNODE_FLAG_NO_HEADER: ULONG = 0x00200000;
+pub const WNODE_FLAG_SEND_DATA_BLOCK: ULONG = 0x00400000;
+pub const WNODE_FLAG_VERSIONED_PROPERTIES: ULONG = 0x00800000;
+pub const WNODE_FLAG_SEVERITY_MASK: ULONG = 0xff000000;
+STRUCT!{struct OFFSETINSTANCEDATAANDLENGTH {
+ OffsetInstanceData: ULONG,
+ LengthInstanceData: ULONG,
+}}
+pub type POFFSETINSTANCEDATAANDLENGTH = *mut OFFSETINSTANCEDATAANDLENGTH;
+UNION!{union WNODE_ALL_DATA_u {
+ [u32; 2],
+ FixedInstanceSize FixedInstanceSize_mut: ULONG,
+ OffsetInstanceDataAndLength OffsetInstanceDataAndLength_mut:
+ [OFFSETINSTANCEDATAANDLENGTH; 0],
+}}
+STRUCT!{struct WNODE_ALL_DATA {
+ WnodeHeader: WNODE_HEADER,
+ DataBlockOffset: ULONG,
+ InstanceCount: ULONG,
+ OffsetInstanceNameOffsets: ULONG,
+ u: WNODE_ALL_DATA_u,
+}}
+pub type PWNODE_ALL_DATA = *mut WNODE_ALL_DATA;
+STRUCT!{struct WNODE_SINGLE_INSTANCE {
+ WnodeHeader: WNODE_HEADER,
+ OffsetInstanceName: ULONG,
+ InstanceIndex: ULONG,
+ DataBlockOffset: ULONG,
+ SizeDataBlock: ULONG,
+ VariableData: [UCHAR; 0],
+}}
+pub type PWNODE_SINGLE_INSTANCE = *mut WNODE_SINGLE_INSTANCE;
+STRUCT!{struct WNODE_SINGLE_ITEM {
+ WnodeHeader: WNODE_HEADER,
+ OffsetInstanceName: ULONG,
+ InstanceIndex: ULONG,
+ ItemId: ULONG,
+ DataBlockOffset: ULONG,
+ SizeDataItem: ULONG,
+ VariableData: [UCHAR; 0],
+}}
+pub type PWNODE_SINGLE_ITEM = *mut WNODE_SINGLE_ITEM;
+STRUCT!{struct WNODE_METHOD_ITEM {
+ WnodeHeader: WNODE_HEADER,
+ OffsetInstanceName: ULONG,
+ InstanceIndex: ULONG,
+ MethodId: ULONG,
+ DataBlockOffset: ULONG,
+ SizeDataBlock: ULONG,
+ VariableData: [UCHAR; 0],
+}}
+pub type PWNODE_METHOD_ITEM = *mut WNODE_METHOD_ITEM;
+STRUCT!{struct WNODE_EVENT_ITEM {
+ WnodeHeader: WNODE_HEADER,
+}}
+pub type PWNODE_EVENT_ITEM = *mut WNODE_EVENT_ITEM;
+UNION!{union WNODE_EVENT_REFERENCE_u {
+ [u32; 1],
+ TargetInstanceIndex TargetInstanceIndex_mut: ULONG,
+ TargetInstanceName TargetInstanceName_mut: [WCHAR; 0],
+}}
+STRUCT!{struct WNODE_EVENT_REFERENCE {
+ WnodeHeader: WNODE_HEADER,
+ TargetGuid: GUID,
+ TargetDataBlockSize: ULONG,
+ u: WNODE_EVENT_REFERENCE_u,
+}}
+pub type PWNODE_EVENT_REFERENCE = *mut WNODE_EVENT_REFERENCE;
+STRUCT!{struct WNODE_TOO_SMALL {
+ WnodeHeader: WNODE_HEADER,
+ SizeNeeded: ULONG,
+}}
+pub type PWNODE_TOO_SMALL = *mut WNODE_TOO_SMALL;
+UNION!{union WMIREGGUIDW_u {
+ [usize; 1],
+ InstanceNameList InstanceNameList_mut: ULONG,
+ BaseNameOffset BaseNameOffset_mut: ULONG,
+ Pdo Pdo_mut: ULONG_PTR,
+ InstanceInfo InstanceInfo_mut: ULONG_PTR,
+}}
+STRUCT!{struct WMIREGGUIDW {
+ Guid: GUID,
+ Flags: ULONG,
+ InstanceCount: ULONG,
+ u: WMIREGGUIDW_u,
+}}
+pub type PWMIREGGUIDW = *mut WMIREGGUIDW;
+pub const WMIREG_FLAG_EXPENSIVE: ULONG = 0x00000001;
+pub const WMIREG_FLAG_INSTANCE_LIST: ULONG = 0x00000004;
+pub const WMIREG_FLAG_INSTANCE_BASENAME: ULONG = 0x00000008;
+pub const WMIREG_FLAG_INSTANCE_PDO: ULONG = 0x00000020;
+pub const WMIREG_FLAG_REMOVE_GUID: ULONG = 0x00010000;
+pub const WMIREG_FLAG_RESERVED1: ULONG = 0x00020000;
+pub const WMIREG_FLAG_RESERVED2: ULONG = 0x00040000;
+pub const WMIREG_FLAG_TRACED_GUID: ULONG = 0x00080000;
+pub const WMIREG_FLAG_TRACE_CONTROL_GUID: ULONG = 0x00001000;
+pub const WMIREG_FLAG_EVENT_ONLY_GUID: ULONG = 0x00000040;
+STRUCT!{struct WMIREGINFOW {
+ BufferSize: ULONG,
+ NextWmiRegInfo: ULONG,
+ RegistryPath: ULONG,
+ MofResourceName: ULONG,
+ GuidGount: ULONG,
+ WmiRegGuid: [WMIREGGUIDW; 0],
+}}
+pub type PWMIREGINFOW = *mut WMIREGINFOW;
+ENUM!{enum WMIDPREQUESTCODE {
+ WMI_GET_ALL_DATA = 0,
+ WMI_GET_SINGLE_INSTANCE = 1,
+ WMI_SET_SINGLE_INSTANCE = 2,
+ WMI_SET_SINGLE_ITEM = 3,
+ WMI_ENABLE_EVENTS = 4,
+ WMI_DISABLE_EVENTS = 5,
+ WMI_ENABLE_COLLECTION = 6,
+ WMI_DISABLE_COLLECTION = 7,
+ WMI_REGINFO = 8,
+ WMI_EXECUTE_METHOD = 9,
+ WMI_CAPTURE_STATE = 10,
+}}
+pub const WMI_GUIDTYPE_TRACECONTROL: ULONG = 0;
+pub const WMI_GUIDTYPE_TRACE: ULONG = 1;
+pub const WMI_GUIDTYPE_DATA: ULONG = 2;
+pub const WMI_GUIDTYPE_EVENT: ULONG = 3;
+pub const WMIGUID_QUERY: ULONG = 0x0001;
+pub const WMIGUID_SET: ULONG = 0x0002;
+pub const WMIGUID_NOTIFICATION: ULONG = 0x0004;
+pub const WMIGUID_READ_DESCRIPTION: ULONG = 0x0008;
+pub const WMIGUID_EXECUTE: ULONG = 0x0010;
+pub const TRACELOG_CREATE_REALTIME: ULONG = 0x0020;
+pub const TRACELOG_CREATE_ONDISK: ULONG = 0x0040;
+pub const TRACELOG_GUID_ENABLE: ULONG = 0x0080;
+pub const TRACELOG_ACCESS_KERNEL_LOGGER: ULONG = 0x0100;
+pub const TRACELOG_LOG_EVENT: ULONG = 0x0200;
+pub const TRACELOG_CREATE_INPROC: ULONG = 0x0200;
+pub const TRACELOG_ACCESS_REALTIME: ULONG = 0x0400;
+pub const TRACELOG_REGISTER_GUIDS: ULONG = 0x0800;
+pub const TRACELOG_JOIN_GROUP: ULONG = 0x1000;
+pub const WMIGUID_ALL_ACCESS_WIN2K: ULONG = STANDARD_RIGHTS_READ | WMIGUID_QUERY | WMIGUID_SET
+ | WMIGUID_NOTIFICATION | WMIGUID_READ_DESCRIPTION | WMIGUID_EXECUTE | TRACELOG_CREATE_REALTIME
+ | TRACELOG_CREATE_ONDISK | TRACELOG_GUID_ENABLE | TRACELOG_ACCESS_KERNEL_LOGGER
+ | TRACELOG_CREATE_INPROC | TRACELOG_ACCESS_REALTIME;
+pub const WMIGUID_ALL_ACCESS_WINXP: ULONG = WMIGUID_ALL_ACCESS_WIN2K | SYNCHRONIZE
+ | TRACELOG_REGISTER_GUIDS;
+pub const WMIGUID_ALL_ACCESS_RS1: ULONG = WMIGUID_ALL_ACCESS_WINXP | TRACELOG_JOIN_GROUP;
+pub const WMIGUID_ALL_ACCESS: ULONG = WMIGUID_ALL_ACCESS_RS1;
+pub const WMI_GLOBAL_LOGGER_ID: ULONG = 0x0001;