JD2022-TU1/main/extern/Camcam/PlatformSDK/Include/iepmapi.h

166 lines
5.7 KiB
C

//+-------------------------------------------------------------------------
//
// iepmapi.h -- This module defines the IE Protected Mode APIs
//
// Copyright (c) Microsoft Corp. All rights reserved.
//
//--------------------------------------------------------------------------
#ifndef _IEPMAPI_
#define _IEPMAPI_
#if _MSC_VER > 1000
#pragma once
#endif
// Remap old API names to new ones.
#define IEGetWriteableHKCU IEGetWriteableLowHKCU
//+-------------------------------------------------------------------------
//
// Structure: IELAUNCHURLINFO
//
// Members:
// cbSize - Size of the structure, in bytes.
// dwCreationFlags - Process Creation flags used by CreateProcess
// and CreateProcessAsUser functions.
//
//--------------------------------------------------------------------------
typedef struct _IELAUNCHURLINFO {
DWORD cbSize;
DWORD dwCreationFlags;
} IELAUNCHURLINFO, *LPIELAUNCHURLINFO;
//+-------------------------------------------------------------------------
//
// Method: IESaveFile
//
// Synopsis: Saves the file to the location selected by the user in a
// previous call to IEShowSaveFileDialog
//
//--------------------------------------------------------------------------
STDAPI IESaveFile(
__in HANDLE hState,
__in LPCWSTR lpwstrSourceFile
);
//+-------------------------------------------------------------------------
//
// Method: IECancelSaveFile
//
// Synopsis: Cancels the save operation and releases the resources
// allocated for the previous call to IEShowSaveFileDialog
//
//--------------------------------------------------------------------------
STDAPI IECancelSaveFile(
__in HANDLE hState
);
//+-------------------------------------------------------------------------
//
// Method: IEShowSaveFileDialog
//
// Synopsis: Shows the standard SaveFile dialog from a higher integrity
// user context
//
// Remarks: When no longer needed, call CoTaskMemFree to release
// lppwstrDestinationFilePath
//
//--------------------------------------------------------------------------
STDAPI IEShowSaveFileDialog(
__in HWND hwnd,
__in LPCWSTR lpwstrInitialFileName,
__in_opt LPCWSTR lpwstrInitialDir,
__in_opt LPCWSTR lpwstrFilter,
__in_opt LPCWSTR lpwstrDefExt,
__in DWORD dwFilterIndex,
__in DWORD dwFlags,
__deref_out LPWSTR *lppwstrDestinationFilePath,
__out HANDLE *phState
);
//+-------------------------------------------------------------------------
//
// Method: IEGetWriteableLowHKCU
//
// Synopsis: Returns a handle to a write accessible location under
// HKEY_CURRENT_USER for MIC Low process
//
// Remarks: When no longer needed, call RegCloseKey function to close
// the HKEY
//
//--------------------------------------------------------------------------
STDAPI IEGetWriteableLowHKCU(
__out HKEY *pHKey
);
//+-------------------------------------------------------------------------
//
// Method: IEGetWriteableFolderPath
//
// Synopsis: Returns the current location of the specified folder.
// In protected mode, the path points to a location where
// the user has write permissions
//
// Remarks: When no longer needed, call CoTaskMemFree to release the
// lppwstrPath
//
//--------------------------------------------------------------------------
STDAPI IEGetWriteableFolderPath(
__in REFGUID clsidFolderID,
__deref_out LPWSTR *lppwstrPath
);
//+-------------------------------------------------------------------------
//
// Method: IEIsProtectedModeProcess
//
// Synopsis: Determines if Internet Explorer is running in protected mode
//
//--------------------------------------------------------------------------
STDAPI IEIsProtectedModeProcess(
__out BOOL *pbResult
);
//+-------------------------------------------------------------------------
//
// Method: IEIsProtectedModeURL
//
// Synopsis: Determines if the URL runs in Protected Mode or not
//
//--------------------------------------------------------------------------
STDAPI IEIsProtectedModeURL(
__in LPCWSTR lpwstrUrl
);
//+-------------------------------------------------------------------------
//
// Method: IELaunchURL
//
// Synopsis: Launches the appropriate IE to handle the navigation to
// the URL
//
//--------------------------------------------------------------------------
STDAPI IELaunchURL(
__in LPCWSTR lpwstrUrl,
__inout PROCESS_INFORMATION *lpProcInfo,
__in_opt VOID *lpInfo
);
//+-------------------------------------------------------------------------
//
// Method: IERefreshElevationPolicy
//
// Synopsis: Causes the next elevation policy look up to refresh from
// the registry
//
//--------------------------------------------------------------------------
STDAPI IERefreshElevationPolicy();
#endif //_IEPMAPI_