clipz.zip
Clipz.sln
Clipz
Core
AppRestartRecovery
Core.csproj
Dialogs
Common
TaskDialogs
Interop
NetworkList
PowerManagement
Properties
PropertySystem
SafeHandles
Libraries
StructureMap.dll
Shell
Common
CommonFileDialogs
Controls
Design
ShellObjects.cd
ShellThumbnailClassDiagram.cd
DesktopWindowManager
ExplorerBrowser
Interop
Common
Dialogs
ExplorerBrowser
KnownFolders
PropertySystem
StockIcons
Taskbar
KnownFolders
Properties
PropertySystem
Shell.csproj
StockIcons
Taskbar
|
//Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Runtime.InteropServices;
using MS.WindowsAPICodePack.Internal;
namespace Microsoft.WindowsAPICodePack.ApplicationServices
{
internal static class AppRestartRecoveryNativeMethods
{
#region Application Restart and Recovery Definitions
internal delegate UInt32 InternalRecoveryCallback(IntPtr state);
internal static InternalRecoveryCallback internalCallback;
static AppRestartRecoveryNativeMethods()
{
internalCallback = new InternalRecoveryCallback(InternalRecoveryHandler);
}
private static UInt32 InternalRecoveryHandler(IntPtr parameter)
{
bool cancelled = false;
ApplicationRecoveryInProgress(out cancelled);
GCHandle handle = GCHandle.FromIntPtr(parameter);
RecoveryData data = handle.Target as RecoveryData;
data.Invoke();
handle.Free();
return (0);
}
[DllImport("kernel32.dll")]
internal static extern void ApplicationRecoveryFinished(
[MarshalAs(UnmanagedType.Bool)] bool success);
[DllImport("kernel32.dll")]
[PreserveSig]
internal static extern HRESULT ApplicationRecoveryInProgress(
[Out, MarshalAs(UnmanagedType.Bool)] out bool canceled);
[DllImport("kernel32.dll")]
[PreserveSig]
internal static extern HRESULT GetApplicationRecoveryCallback(
IntPtr processHandle,
out RecoveryCallback recoveryCallback,
out object state,
out uint pingInterval,
out uint flags);
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
[PreserveSig]
internal static extern HRESULT RegisterApplicationRecoveryCallback(
InternalRecoveryCallback callback, IntPtr param,
uint pingInterval,
uint flags); // Unused.
[DllImport("kernel32.dll")]
[PreserveSig]
internal static extern HRESULT RegisterApplicationRestart(
[MarshalAs(UnmanagedType.BStr)] string commandLineArgs,
RestartRestrictions flags);
[DllImport("KERNEL32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
[PreserveSig]
internal static extern HRESULT GetApplicationRestartSettings(
IntPtr process,
IntPtr commandLine,
ref uint size,
out RestartRestrictions flags);
[DllImport("kernel32.dll")]
[PreserveSig]
internal static extern HRESULT UnregisterApplicationRecoveryCallback();
[DllImport("kernel32.dll")]
[PreserveSig]
internal static extern HRESULT UnregisterApplicationRestart();
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I'm the founder of PageLabs, a web-based performance and SEO optimization site.
Give your site a boost in performance, even take a free speed test!
http://www.pagelabs.com