166 lines
5.7 KiB
C
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_
|