1 #[cfg_attr(windows, link(name = "windows"))]
3 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
4 pub fn AmsiCloseSession(amsicontext
: HAMSICONTEXT
, amsisession
: HAMSISESSION
);
5 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
6 pub fn AmsiInitialize(appname
: ::windows_sys
::core
::PCWSTR
, amsicontext
: *mut HAMSICONTEXT
) -> ::windows_sys
::core
::HRESULT
;
7 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
8 pub fn AmsiNotifyOperation(amsicontext
: HAMSICONTEXT
, buffer
: *const ::core
::ffi
::c_void
, length
: u32, contentname
: ::windows_sys
::core
::PCWSTR
, result
: *mut AMSI_RESULT
) -> ::windows_sys
::core
::HRESULT
;
9 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
10 pub fn AmsiOpenSession(amsicontext
: HAMSICONTEXT
, amsisession
: *mut HAMSISESSION
) -> ::windows_sys
::core
::HRESULT
;
11 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
12 pub fn AmsiScanBuffer(amsicontext
: HAMSICONTEXT
, buffer
: *const ::core
::ffi
::c_void
, length
: u32, contentname
: ::windows_sys
::core
::PCWSTR
, amsisession
: HAMSISESSION
, result
: *mut AMSI_RESULT
) -> ::windows_sys
::core
::HRESULT
;
13 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
14 pub fn AmsiScanString(amsicontext
: HAMSICONTEXT
, string
: ::windows_sys
::core
::PCWSTR
, contentname
: ::windows_sys
::core
::PCWSTR
, amsisession
: HAMSISESSION
, result
: *mut AMSI_RESULT
) -> ::windows_sys
::core
::HRESULT
;
15 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
16 pub fn AmsiUninitialize(amsicontext
: HAMSICONTEXT
);
17 #[doc = "*Required features: `\"Win32_System_Antimalware\"`, `\"Win32_Foundation\"`*"]
18 #[cfg(feature = "Win32_Foundation")]
19 pub fn InstallELAMCertificateInfo(elamfile
: super::super::Foundation
::HANDLE
) -> super::super::Foundation
::BOOL
;
21 pub type IAmsiStream
= *mut ::core
::ffi
::c_void
;
22 pub type IAntimalware
= *mut ::core
::ffi
::c_void
;
23 pub type IAntimalware2
= *mut ::core
::ffi
::c_void
;
24 pub type IAntimalwareProvider
= *mut ::core
::ffi
::c_void
;
25 pub type IAntimalwareProvider2
= *mut ::core
::ffi
::c_void
;
26 pub type IAntimalwareUacProvider
= *mut ::core
::ffi
::c_void
;
27 pub const CAntimalware
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4256173650, data2: 41492, data3: 19105, data4: [143, 186, 67, 87, 187, 0, 114, 236] }
;
28 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
29 pub type AMSI_ATTRIBUTE
= i32;
30 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
31 pub const AMSI_ATTRIBUTE_APP_NAME
: AMSI_ATTRIBUTE
= 0i32;
32 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
33 pub const AMSI_ATTRIBUTE_CONTENT_NAME
: AMSI_ATTRIBUTE
= 1i32;
34 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
35 pub const AMSI_ATTRIBUTE_CONTENT_SIZE
: AMSI_ATTRIBUTE
= 2i32;
36 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
37 pub const AMSI_ATTRIBUTE_CONTENT_ADDRESS
: AMSI_ATTRIBUTE
= 3i32;
38 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
39 pub const AMSI_ATTRIBUTE_SESSION
: AMSI_ATTRIBUTE
= 4i32;
40 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
41 pub const AMSI_ATTRIBUTE_REDIRECT_CHAIN_SIZE
: AMSI_ATTRIBUTE
= 5i32;
42 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
43 pub const AMSI_ATTRIBUTE_REDIRECT_CHAIN_ADDRESS
: AMSI_ATTRIBUTE
= 6i32;
44 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
45 pub const AMSI_ATTRIBUTE_ALL_SIZE
: AMSI_ATTRIBUTE
= 7i32;
46 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
47 pub const AMSI_ATTRIBUTE_ALL_ADDRESS
: AMSI_ATTRIBUTE
= 8i32;
48 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
49 pub const AMSI_ATTRIBUTE_QUIET
: AMSI_ATTRIBUTE
= 9i32;
50 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
51 pub type AMSI_RESULT
= i32;
52 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
53 pub const AMSI_RESULT_CLEAN
: AMSI_RESULT
= 0i32;
54 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
55 pub const AMSI_RESULT_NOT_DETECTED
: AMSI_RESULT
= 1i32;
56 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
57 pub const AMSI_RESULT_BLOCKED_BY_ADMIN_START
: AMSI_RESULT
= 16384i32;
58 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
59 pub const AMSI_RESULT_BLOCKED_BY_ADMIN_END
: AMSI_RESULT
= 20479i32;
60 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
61 pub const AMSI_RESULT_DETECTED
: AMSI_RESULT
= 32768i32;
62 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
63 pub type AMSI_UAC_MSI_ACTION
= i32;
64 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
65 pub const AMSI_UAC_MSI_ACTION_INSTALL
: AMSI_UAC_MSI_ACTION
= 0i32;
66 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
67 pub const AMSI_UAC_MSI_ACTION_UNINSTALL
: AMSI_UAC_MSI_ACTION
= 1i32;
68 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
69 pub const AMSI_UAC_MSI_ACTION_UPDATE
: AMSI_UAC_MSI_ACTION
= 2i32;
70 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
71 pub const AMSI_UAC_MSI_ACTION_MAINTENANCE
: AMSI_UAC_MSI_ACTION
= 3i32;
72 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
73 pub const AMSI_UAC_MSI_ACTION_MAX
: AMSI_UAC_MSI_ACTION
= 4i32;
74 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
75 pub type AMSI_UAC_REQUEST_TYPE
= i32;
76 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
77 pub const AMSI_UAC_REQUEST_TYPE_EXE
: AMSI_UAC_REQUEST_TYPE
= 0i32;
78 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
79 pub const AMSI_UAC_REQUEST_TYPE_COM
: AMSI_UAC_REQUEST_TYPE
= 1i32;
80 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
81 pub const AMSI_UAC_REQUEST_TYPE_MSI
: AMSI_UAC_REQUEST_TYPE
= 2i32;
82 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
83 pub const AMSI_UAC_REQUEST_TYPE_AX
: AMSI_UAC_REQUEST_TYPE
= 3i32;
84 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
85 pub const AMSI_UAC_REQUEST_TYPE_PACKAGED_APP
: AMSI_UAC_REQUEST_TYPE
= 4i32;
86 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
87 pub const AMSI_UAC_REQUEST_TYPE_MAX
: AMSI_UAC_REQUEST_TYPE
= 5i32;
88 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
89 pub type AMSI_UAC_TRUST_STATE
= i32;
90 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
91 pub const AMSI_UAC_TRUST_STATE_TRUSTED
: AMSI_UAC_TRUST_STATE
= 0i32;
92 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
93 pub const AMSI_UAC_TRUST_STATE_UNTRUSTED
: AMSI_UAC_TRUST_STATE
= 1i32;
94 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
95 pub const AMSI_UAC_TRUST_STATE_BLOCKED
: AMSI_UAC_TRUST_STATE
= 2i32;
96 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
97 pub const AMSI_UAC_TRUST_STATE_MAX
: AMSI_UAC_TRUST_STATE
= 3i32;
99 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
100 pub struct AMSI_UAC_REQUEST_AX_INFO
{
102 pub lpwszLocalInstallPath
: ::windows_sys
::core
::PWSTR
,
103 pub lpwszSourceURL
: ::windows_sys
::core
::PWSTR
,
105 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_AX_INFO {}
106 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_AX_INFO
{
107 fn clone(&self) -> Self {
112 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
113 pub struct AMSI_UAC_REQUEST_COM_INFO
{
115 pub lpwszServerBinary
: ::windows_sys
::core
::PWSTR
,
116 pub lpwszRequestor
: ::windows_sys
::core
::PWSTR
,
117 pub Clsid
: ::windows_sys
::core
::GUID
,
119 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_COM_INFO {}
120 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_COM_INFO
{
121 fn clone(&self) -> Self {
126 #[doc = "*Required features: `\"Win32_System_Antimalware\"`, `\"Win32_Foundation\"`*"]
127 #[cfg(feature = "Win32_Foundation")]
128 pub struct AMSI_UAC_REQUEST_CONTEXT
{
130 pub ulRequestorProcessId
: u32,
131 pub UACTrustState
: AMSI_UAC_TRUST_STATE
,
132 pub Type
: AMSI_UAC_REQUEST_TYPE
,
133 pub RequestType
: AMSI_UAC_REQUEST_CONTEXT_0
,
134 pub bAutoElevateRequest
: super::super::Foundation
::BOOL
,
136 #[cfg(feature = "Win32_Foundation")]
137 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_CONTEXT {}
138 #[cfg(feature = "Win32_Foundation")]
139 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_CONTEXT
{
140 fn clone(&self) -> Self {
145 #[doc = "*Required features: `\"Win32_System_Antimalware\"`, `\"Win32_Foundation\"`*"]
146 #[cfg(feature = "Win32_Foundation")]
147 pub union AMSI_UAC_REQUEST_CONTEXT_0
{
148 pub ExeInfo
: AMSI_UAC_REQUEST_EXE_INFO
,
149 pub ComInfo
: AMSI_UAC_REQUEST_COM_INFO
,
150 pub MsiInfo
: AMSI_UAC_REQUEST_MSI_INFO
,
151 pub ActiveXInfo
: AMSI_UAC_REQUEST_AX_INFO
,
152 pub PackagedAppInfo
: AMSI_UAC_REQUEST_PACKAGED_APP_INFO
,
154 #[cfg(feature = "Win32_Foundation")]
155 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_CONTEXT_0 {}
156 #[cfg(feature = "Win32_Foundation")]
157 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_CONTEXT_0
{
158 fn clone(&self) -> Self {
163 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
164 pub struct AMSI_UAC_REQUEST_EXE_INFO
{
166 pub lpwszApplicationName
: ::windows_sys
::core
::PWSTR
,
167 pub lpwszCommandLine
: ::windows_sys
::core
::PWSTR
,
168 pub lpwszDLLParameter
: ::windows_sys
::core
::PWSTR
,
170 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_EXE_INFO {}
171 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_EXE_INFO
{
172 fn clone(&self) -> Self {
177 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
178 pub struct AMSI_UAC_REQUEST_MSI_INFO
{
180 pub MsiAction
: AMSI_UAC_MSI_ACTION
,
181 pub lpwszProductName
: ::windows_sys
::core
::PWSTR
,
182 pub lpwszVersion
: ::windows_sys
::core
::PWSTR
,
183 pub lpwszLanguage
: ::windows_sys
::core
::PWSTR
,
184 pub lpwszManufacturer
: ::windows_sys
::core
::PWSTR
,
185 pub lpwszPackagePath
: ::windows_sys
::core
::PWSTR
,
186 pub lpwszPackageSource
: ::windows_sys
::core
::PWSTR
,
188 pub ppwszUpdates
: *mut ::windows_sys
::core
::PWSTR
,
189 pub ppwszUpdateSources
: *mut ::windows_sys
::core
::PWSTR
,
191 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_MSI_INFO {}
192 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_MSI_INFO
{
193 fn clone(&self) -> Self {
198 #[doc = "*Required features: `\"Win32_System_Antimalware\"`*"]
199 pub struct AMSI_UAC_REQUEST_PACKAGED_APP_INFO
{
201 pub lpwszApplicationName
: ::windows_sys
::core
::PWSTR
,
202 pub lpwszCommandLine
: ::windows_sys
::core
::PWSTR
,
203 pub lpPackageFamilyName
: ::windows_sys
::core
::PWSTR
,
204 pub lpApplicationId
: ::windows_sys
::core
::PWSTR
,
206 impl ::core
::marker
::Copy
for AMSI_UAC_REQUEST_PACKAGED_APP_INFO {}
207 impl ::core
::clone
::Clone
for AMSI_UAC_REQUEST_PACKAGED_APP_INFO
{
208 fn clone(&self) -> Self {
212 pub type HAMSICONTEXT
= isize;
213 pub type HAMSISESSION
= isize;