summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi/src/um/userenv.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/rust/winapi/src/um/userenv.rs
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/winapi/src/um/userenv.rs')
-rw-r--r--third_party/rust/winapi/src/um/userenv.rs159
1 files changed, 159 insertions, 0 deletions
diff --git a/third_party/rust/winapi/src/um/userenv.rs b/third_party/rust/winapi/src/um/userenv.rs
new file mode 100644
index 0000000000..ea0af96ffa
--- /dev/null
+++ b/third_party/rust/winapi/src/um/userenv.rs
@@ -0,0 +1,159 @@
+// 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.
+//! Definitions for the user environment API
+use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, PHKEY};
+use um::winnt::{
+ HANDLE, HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PSID, PSID_AND_ATTRIBUTES, PWSTR
+};
+use um::winreg::REGSAM;
+extern "system" {
+ // pub fn LoadUserProfileA(
+ // hToken: HANDLE,
+ // lpProfileInfo: LPPROFILEINFOA,
+ // ) -> BOOL;
+ // pub fn LoadUserProfileW(
+ // hToken: HANDLE,
+ // lpProfileInfo: LPPROFILEINFOW,
+ // ) -> BOOL;
+ pub fn UnloadUserProfile(
+ hToken: HANDLE,
+ hProfile: HANDLE,
+ ) -> BOOL;
+ pub fn GetProfilesDirectoryA(
+ lpProfileDir: LPSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetProfilesDirectoryW(
+ lpProfileDir: LPWSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetProfileType(
+ dwFlags: *mut DWORD,
+ ) -> BOOL;
+ pub fn DeleteProfileA(
+ lpSidString: LPCSTR,
+ lpProfilePath: LPCSTR,
+ lpComputerName: LPCSTR,
+ ) -> BOOL;
+ pub fn DeleteProfileW(
+ lpSidString: LPCWSTR,
+ lpProfilePath: LPCWSTR,
+ lpComputerName: LPCWSTR,
+ ) -> BOOL;
+ pub fn CreateProfile(
+ pszUserSid: LPCWSTR,
+ pszUserName: LPCWSTR,
+ pszProfilePath: LPWSTR,
+ cchProfilePath: DWORD,
+ ) -> HRESULT;
+ pub fn GetDefaultUserProfileDirectoryA(
+ lpProfileDir: LPSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetDefaultUserProfileDirectoryW(
+ lpProfileDir: LPWSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetAllUsersProfileDirectoryA(
+ lpProfileDir: LPSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetAllUsersProfileDirectoryW(
+ lpProfileDir: LPWSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetUserProfileDirectoryA(
+ hToken: HANDLE,
+ lpProfileDir: LPSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn GetUserProfileDirectoryW(
+ hToken: HANDLE,
+ lpProfileDir: LPWSTR,
+ lpcchSize: LPDWORD,
+ ) -> BOOL;
+ pub fn CreateEnvironmentBlock(
+ lpEnvironment: *mut LPVOID,
+ hToken: HANDLE,
+ bInherit: BOOL,
+ ) -> BOOL;
+ pub fn DestroyEnvironmentBlock(
+ lpEnvironment: LPVOID,
+ ) -> BOOL;
+ pub fn ExpandEnvironmentStringsForUserA(
+ hToken: HANDLE,
+ lpSrc: LPCSTR,
+ lpDest: LPSTR,
+ dwSize: DWORD,
+ ) -> BOOL;
+ pub fn ExpandEnvironmentStringsForUserW(
+ hToken: HANDLE,
+ lpSrc: LPCWSTR,
+ lpDest: LPWSTR,
+ dwSize: DWORD,
+ ) -> BOOL;
+ pub fn RefreshPolicy(
+ bMachine: BOOL,
+ ) -> BOOL;
+ pub fn RefreshPolicyEx(
+ bMachine: BOOL,
+ dwOptions: DWORD,
+ ) -> BOOL;
+ pub fn EnterCriticalPolicySection(
+ bMachine: BOOL,
+ ) -> HANDLE;
+ pub fn LeaveCriticalPolicySection(
+ hSection: HANDLE,
+ ) -> BOOL;
+ pub fn RegisterGPNotification(
+ hEvent: HANDLE,
+ bMachine: BOOL,
+ ) -> BOOL;
+ pub fn UnregisterGPNotification(
+ hEvent: HANDLE,
+ ) -> BOOL;
+ // pub fn GetGPOListA();
+ // pub fn GetGPOListW();
+ // pub fn FreeGPOListA();
+ // pub fn FreeGPOListW();
+ // pub fn GetAppliedGPOListA();
+ // pub fn GetAppliedGPOListW();
+ // pub fn ProcessGroupPolicyCompleted();
+ // pub fn ProcessGroupPolicyCompletedEx();
+ // pub fn RsopAccessCheckByType();
+ // pub fn RsopFileAccessCheck();
+ // pub fn RsopSetPolicySettingStatus();
+ // pub fn RsopResetPolicySettingStatus();
+ // pub fn GenerateGPNotification();
+ pub fn CreateAppContainerProfile(
+ pszAppContainerName: PCWSTR,
+ pszDisplayName: PCWSTR,
+ pszDescription: PCWSTR,
+ pCapabilities: PSID_AND_ATTRIBUTES,
+ dwCapabilityCount: DWORD,
+ ppSidAppContainerSid: *mut PSID,
+ ) -> HRESULT;
+ pub fn DeleteAppContainerProfile(
+ pszAppContainerName: PCWSTR,
+ ) -> HRESULT;
+ pub fn GetAppContainerRegistryLocation(
+ desiredAccess: REGSAM,
+ phAppContainerKey: PHKEY,
+ ) -> HRESULT;
+ pub fn GetAppContainerFolderPath(
+ pszAppContainerSid: PCWSTR,
+ ppszPath: *mut PWSTR,
+ ) -> HRESULT;
+ pub fn DeriveAppContainerSidFromAppContainerName(
+ pszAppContainerName: PCWSTR,
+ ppsidAppContainerSid: *mut PSID,
+ ) -> HRESULT;
+ pub fn DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName(
+ psidAppContainerSid: PSID,
+ pszRestrictedAppContainerName: PCWSTR,
+ ppsidRestrictedAppContainerSid: *mut PSID,
+ ) -> HRESULT;
+}