Advertisement
elektrohacker

IFileOperationProgressSink interface

Mar 30th, 2022
2,202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 28.27 KB | None | 0 0
  1. ' ***********************************************************************
  2. ' Author   : ElektroStudios
  3. ' Modified : 30-March-2022
  4. ' ***********************************************************************
  5.  
  6. #Region " Option Statements "
  7.  
  8. Option Strict On
  9. Option Explicit On
  10. Option Infer Off
  11.  
  12. #End Region
  13.  
  14. #Region " Imports "
  15.  
  16. Imports System.IO
  17. Imports System.Runtime.InteropServices
  18.  
  19. Imports DevCase.Interop.Unmanaged.Win32.Enums
  20.  
  21. #End Region
  22.  
  23. #Region " IFileOperationProgressSink "
  24.  
  25. ' ReSharper disable once CheckNamespace
  26.  
  27. Namespace DevCase.Interop.Unmanaged.Win32.Interfaces
  28.  
  29.     ''' ----------------------------------------------------------------------------------------------------
  30.     ''' Exposes methods that provide a rich notification system used by callers of <see cref="IFileOperation"/>
  31.     ''' to monitor the details of the operations they are performing through that interface.
  32.     ''' ----------------------------------------------------------------------------------------------------
  33.     ''' <remarks>
  34.     ''' <see href="https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ifileoperationprogresssink"/>
  35.     ''' </remarks>
  36.     ''' ----------------------------------------------------------------------------------------------------
  37.     <ComImport>
  38.     <Guid("04b0f1a7-9490-44bc-96e1-4296a31252e2")>
  39.     <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>
  40.     Public Interface IFileOperationProgressSink
  41.  
  42.         ''' ----------------------------------------------------------------------------------------------------
  43.         ''' <summary>
  44.         ''' Performs caller-implemented actions before any specific file operations are performed.
  45.         ''' </summary>
  46.         ''' ----------------------------------------------------------------------------------------------------
  47.         ''' <returns>
  48.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  49.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  50.         ''' </returns>
  51.         ''' ----------------------------------------------------------------------------------------------------
  52.         Function StartOperations() As HResult
  53.  
  54.         ''' ----------------------------------------------------------------------------------------------------
  55.         ''' <summary>
  56.         ''' Performs caller-implemented actions after the last operation performed by the call to <see cref="IFileOperation"/> is complete.
  57.         ''' </summary>
  58.         ''' ----------------------------------------------------------------------------------------------------
  59.         ''' <param name="hrResult">
  60.         ''' The return value of the final operation.
  61.         ''' <para></para>
  62.         ''' Note that this is not the <see cref="HResult"/> returned by one of the <see cref="IFileOperation"/> methods,
  63.         ''' which simply queue the operations.
  64.         ''' Instead, this is the result of the actual operation, such as copy, delete, or move.
  65.         ''' </param>
  66.         ''' ----------------------------------------------------------------------------------------------------
  67.         Sub FinishOperations(<MarshalAs(UnmanagedType.U4)> hrResult As HResult)
  68.  
  69.         ''' ----------------------------------------------------------------------------------------------------
  70.         ''' <summary>
  71.         ''' Performs caller-implemented actions before the rename process for each item begins.
  72.         ''' </summary>
  73.         ''' ----------------------------------------------------------------------------------------------------
  74.         ''' <param name="dwFlags">
  75.         ''' bitwise value that contains flags that control the operation.
  76.         ''' </param>
  77.         '''
  78.         ''' <param name="psiItem">
  79.         ''' Pointer to an <see cref="IShellItem"/> that specifies the item to be renamed.
  80.         ''' </param>
  81.         '''
  82.         ''' <param name="pszNewName">
  83.         ''' Pointer to the new display name of the item. This is a null-terminated, Unicode string.
  84.         ''' </param>
  85.         ''' ----------------------------------------------------------------------------------------------------
  86.         ''' <returns>
  87.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  88.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  89.         ''' <para></para>
  90.         ''' In the case of an error value,
  91.         ''' the rename operation and all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  92.         ''' </returns>
  93.         ''' ----------------------------------------------------------------------------------------------------
  94.         Function PreRenameItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String) As HResult
  95.  
  96.         ''' ----------------------------------------------------------------------------------------------------
  97.         ''' <summary>
  98.         ''' Performs caller-implemented actions after the rename process for each item is complete.
  99.         ''' </summary>
  100.         ''' ----------------------------------------------------------------------------------------------------
  101.         ''' <param name="dwFlags">
  102.         ''' bitwise value that contains flags that were used during the rename operation.
  103.         ''' <para></para>
  104.         ''' Some values can be set or changed during the rename operation.
  105.         ''' </param>
  106.         '''
  107.         ''' <param name="psiItem">
  108.         ''' Pointer to an <see cref="IShellItem"/> that specifies the item before it was renamed.
  109.         ''' </param>
  110.         '''
  111.         ''' <param name="pszNewName">
  112.         ''' Pointer to the new display name of the item. This is a null-terminated, Unicode string.
  113.         ''' <para></para>
  114.         ''' Note that this might not be the name that you asked for, given collisions and other naming rules.
  115.         ''' </param>
  116.         '''
  117.         ''' <param name="hrRename">
  118.         ''' The return value of the rename operation.
  119.         ''' <para></para>
  120.         ''' Note that this is not the <see cref="HResult"/> returned by <see cref="IFileOperation.RenameItem"/>,
  121.         ''' which simply queues the rename operation. Instead, this is the result of the actual rename operation.
  122.         ''' </param>
  123.         '''
  124.         ''' <param name="psiNewlyCreated">
  125.         ''' Pointer to an <see cref="IShellItem"/> that represents the item with its new name.
  126.         ''' </param>
  127.         ''' ----------------------------------------------------------------------------------------------------
  128.         ''' <returns>
  129.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  130.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  131.         ''' <para></para>
  132.         ''' In the case of an error value,
  133.         ''' all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  134.         ''' </returns>
  135.         ''' ----------------------------------------------------------------------------------------------------
  136.         Function PostRenameItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String, <MarshalAs(UnmanagedType.U4)> hrRename As HResult, psiNewlyCreated As IShellItem) As HResult
  137.  
  138.         ''' ----------------------------------------------------------------------------------------------------
  139.         ''' <summary>
  140.         ''' Performs caller-implemented actions before the move process for each item begins.
  141.         ''' </summary>
  142.         ''' ----------------------------------------------------------------------------------------------------
  143.         ''' <param name="dwFlags">
  144.         ''' bitwise value that contains flags that control the operation.
  145.         ''' </param>
  146.         '''
  147.         ''' <param name="psiItem">
  148.         ''' Pointer to an <see cref="IShellItem"/> that specifies the item to be moved..
  149.         ''' </param>
  150.         '''
  151.         ''' <param name="psiDestinationFolder">
  152.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder to contain the moved item.
  153.         ''' </param>
  154.         '''
  155.         ''' <param name="pszNewName">
  156.         ''' Pointer to a new name for the item in its new location. This is a null-terminated Unicode string and can be NULL.
  157.         ''' <para></para>
  158.         ''' If NULL, the name of the destination item is the same as the source.
  159.         ''' </param>
  160.         ''' ----------------------------------------------------------------------------------------------------
  161.         ''' <returns>
  162.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  163.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  164.         ''' <para></para>
  165.         ''' In the case of an error value,
  166.         ''' the move operation and all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  167.         ''' </returns>
  168.         ''' ----------------------------------------------------------------------------------------------------
  169.         Function PreMoveItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String) As HResult
  170.  
  171.         ''' ----------------------------------------------------------------------------------------------------
  172.         ''' <summary>
  173.         ''' Performs caller-implemented actions after the move process for each item is complete.
  174.         ''' </summary>
  175.         ''' ----------------------------------------------------------------------------------------------------
  176.         ''' <param name="dwFlags">
  177.         ''' bitwise value that contains flags that were used during the move operation.
  178.         ''' <para></para>
  179.         ''' Some values can be set or changed during the move operation.
  180.         ''' </param>
  181.         '''
  182.         ''' <param name="psiItem">
  183.         ''' Pointer to an <see cref="IShellItem"/> that specifies the source item.
  184.         ''' </param>
  185.         '''
  186.         ''' <param name="psiDestinationFolder">
  187.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder that contains the moved item.
  188.         ''' </param>
  189.         '''
  190.         ''' <param name="pszNewName">
  191.         ''' Pointer to the name that was given to the item after it was moved. This is a null-terminated Unicode string.
  192.         ''' <para></para>
  193.         ''' Note that this might not be the name that you asked for, given collisions and other naming rules.
  194.         ''' </param>
  195.         '''
  196.         ''' <param name="hrMove">
  197.         ''' The return value of the move operation.
  198.         ''' <para></para>
  199.         ''' Note that this is not the <see cref="HResult"/> returned by <see cref="IFileOperation.MoveItem"/>,
  200.         ''' which simply queues the move operation. Instead, this is the result of the actual move.
  201.         ''' </param>
  202.         '''
  203.         ''' <param name="psiNewlyCreated">
  204.         ''' Pointer to an <see cref="IShellItem"/> that represents the moved item in its new location.
  205.         ''' </param>
  206.         ''' ----------------------------------------------------------------------------------------------------
  207.         ''' <returns>
  208.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  209.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  210.         ''' <para></para>
  211.         ''' In the case of an error value,
  212.         ''' all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  213.         ''' </returns>
  214.         ''' ----------------------------------------------------------------------------------------------------
  215.         Function PostMoveItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String, <MarshalAs(UnmanagedType.U4)> hrMove As HResult, psiNewlyCreated As IShellItem) As HResult
  216.  
  217.         ''' ----------------------------------------------------------------------------------------------------
  218.         ''' <summary>
  219.         ''' Performs caller-implemented actions before the copy process for each item begins.
  220.         ''' </summary>
  221.         ''' ----------------------------------------------------------------------------------------------------
  222.         ''' <param name="dwFlags">
  223.         ''' bitwise value that contains flags that control the operation.
  224.         ''' </param>
  225.         '''
  226.         ''' <param name="psiItem">
  227.         ''' Pointer to an <see cref="IShellItem"/> that specifies the source item.
  228.         ''' </param>
  229.         '''
  230.         ''' <param name="psiDestinationFolder">
  231.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder to contain the copy of the item.
  232.         ''' </param>
  233.         '''
  234.         ''' <param name="pszNewName">
  235.         ''' Pointer to a new name for the item after it has been copied. This is a null-terminated Unicode string and can be NULL.
  236.         ''' <para></para>
  237.         ''' If NULL, the name of the destination item is the same as the source.
  238.         ''' </param>
  239.         ''' ----------------------------------------------------------------------------------------------------
  240.         ''' <returns>
  241.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  242.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  243.         ''' <para></para>
  244.         ''' In the case of an error value,
  245.         ''' the copy operation and all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  246.         ''' </returns>
  247.         ''' ----------------------------------------------------------------------------------------------------
  248.         Function PreCopyItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String) As HResult
  249.  
  250.         ''' ----------------------------------------------------------------------------------------------------
  251.         ''' <summary>
  252.         ''' Performs caller-implemented actions after the copy process for each item is complete.
  253.         ''' </summary>
  254.         ''' ----------------------------------------------------------------------------------------------------
  255.         ''' <param name="dwFlags">
  256.         ''' bitwise value that contains flags that were used during the copy operation.
  257.         ''' <para></para>
  258.         ''' Some values can be set or changed during the copy operation.
  259.         ''' </param>
  260.         '''
  261.         ''' <param name="psiItem">
  262.         ''' Pointer to an <see cref="IShellItem"/> that specifies the source item.
  263.         ''' </param>
  264.         '''
  265.         ''' <param name="psiDestinationFolder">
  266.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder to which the item was copied.
  267.         ''' </param>
  268.         '''
  269.         ''' <param name="pszNewName">
  270.         ''' Pointer to the new name that was given to the item after it was copied. This is a null-terminated Unicode string.
  271.         ''' <para></para>
  272.         ''' Note that this might not be the name that you asked for, given collisions and other naming rules.
  273.         ''' </param>
  274.         '''
  275.         ''' <param name="hrCopy">
  276.         ''' The return value of the copy operation.
  277.         ''' <para></para>
  278.         ''' Note that this is not the <see cref="HResult"/> returned by <see cref="IFileOperation.CopyItem"/>,
  279.         ''' which simply queues the copy operation. Instead, this is the result of the actual copy.
  280.         ''' </param>
  281.         '''
  282.         ''' <param name="psiNewlyCreated">
  283.         ''' Pointer to an <see cref="IShellItem"/> that represents the new copy of the item.
  284.         ''' </param>
  285.         ''' ----------------------------------------------------------------------------------------------------
  286.         ''' <returns>
  287.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  288.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  289.         ''' <para></para>
  290.         ''' In the case of an error value,
  291.         ''' all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  292.         ''' </returns>
  293.         ''' ----------------------------------------------------------------------------------------------------
  294.         Function PostCopyItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String, <MarshalAs(UnmanagedType.U4)> hrCopy As HResult, psiNewlyCreated As IShellItem) As HResult
  295.  
  296.         ''' ----------------------------------------------------------------------------------------------------
  297.         ''' <summary>
  298.         ''' Performs caller-implemented actions before the delete process for each item begins.
  299.         ''' </summary>
  300.         ''' ----------------------------------------------------------------------------------------------------
  301.         ''' <param name="dwFlags">
  302.         ''' bitwise value that contains flags that control the operation.
  303.         ''' </param>
  304.         '''
  305.         ''' <param name="psiItem">
  306.         ''' Pointer to an <see cref="IShellItem"/> that specifies the item to be deleted.
  307.         ''' </param>
  308.         ''' ----------------------------------------------------------------------------------------------------
  309.         ''' <returns>
  310.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  311.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  312.         ''' <para></para>
  313.         ''' In the case of an error value,
  314.         ''' the delete operation and all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  315.         ''' </returns>
  316.         ''' ----------------------------------------------------------------------------------------------------
  317.         Function PreDeleteItem(dwFlags As TransferSourceFlags, psiItem As IShellItem) As HResult
  318.  
  319.         ''' ----------------------------------------------------------------------------------------------------
  320.         ''' <summary>
  321.         ''' Performs caller-implemented actions after the delete process for each item is complete.
  322.         ''' </summary>
  323.         ''' ----------------------------------------------------------------------------------------------------
  324.         ''' <param name="dwFlags">
  325.         ''' bitwise value that contains flags that were used during the delete operation.
  326.         ''' <para></para>
  327.         ''' Some values can be set or changed during the delete operation.
  328.         ''' </param>
  329.         '''
  330.         ''' <param name="psiItem">
  331.         ''' Pointer to an <see cref="IShellItem"/> that specifies the item that was deleted.
  332.         ''' </param>
  333.         '''
  334.         ''' <param name="hrDelete">
  335.         ''' The return value of the delete operation.
  336.         ''' <para></para>
  337.         ''' Note that this is not the <see cref="HResult"/> returned by <see cref="IFileOperation.DeleteItem"/>,
  338.         ''' which simply queues the delete operation. Instead, this is the result of the actual deletion.
  339.         ''' </param>
  340.         '''
  341.         ''' <param name="psiNewlyCreated">
  342.         ''' A pointer to an <see cref="IShellItem"/> that specifies the deleted item, now in the Recycle Bin.
  343.         ''' <para></para>
  344.         ''' If the item was fully deleted, this value is NULL.
  345.         ''' </param>
  346.         ''' ----------------------------------------------------------------------------------------------------
  347.         ''' <returns>
  348.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  349.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  350.         ''' <para></para>
  351.         ''' In the case of an error value,
  352.         ''' all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  353.         ''' </returns>
  354.         ''' ----------------------------------------------------------------------------------------------------
  355.         Function PostDeleteItem(dwFlags As TransferSourceFlags, psiItem As IShellItem, <MarshalAs(UnmanagedType.U4)> hrDelete As HResult, psiNewlyCreated As IShellItem) As HResult
  356.  
  357.         ''' ----------------------------------------------------------------------------------------------------
  358.         ''' <summary>
  359.         ''' Performs caller-implemented actions before the process to create a new item begins.
  360.         ''' </summary>
  361.         ''' ----------------------------------------------------------------------------------------------------
  362.         ''' <param name="dwFlags">
  363.         ''' bitwise value that contains flags that control the operation.
  364.         ''' </param>
  365.         '''
  366.         ''' <param name="psiDestinationFolder">
  367.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder that will contain the new item.
  368.         ''' </param>
  369.         '''
  370.         ''' <param name="pszNewName">
  371.         ''' Pointer to the file name of the new item, for instance Newfile.txt. This is a null-terminated, Unicode string.
  372.         ''' </param>
  373.         ''' ----------------------------------------------------------------------------------------------------
  374.         ''' <returns>
  375.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  376.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  377.         ''' <para></para>
  378.         ''' In the case of an error value,
  379.         ''' this operation and all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  380.         ''' </returns>
  381.         ''' ----------------------------------------------------------------------------------------------------
  382.         Function PreNewItem(dwFlags As TransferSourceFlags, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String) As HResult
  383.  
  384.         ''' ----------------------------------------------------------------------------------------------------
  385.         ''' <summary>
  386.         ''' Performs caller-implemented actions after the new item is created
  387.         ''' </summary>
  388.         ''' ----------------------------------------------------------------------------------------------------
  389.         ''' <param name="dwFlags">
  390.         ''' bitwise value that contains flags that were used during the creation operation.
  391.         ''' <para></para>
  392.         ''' Some values can be set or changed during the creation operation.
  393.         ''' </param>
  394.         '''
  395.         ''' <param name="psiDestinationFolder">
  396.         ''' Pointer to an <see cref="IShellItem"/> that specifies the destination folder to which the new item was added.
  397.         ''' </param>
  398.         '''
  399.         ''' <param name="pszNewName">
  400.         ''' Pointer to the file name of the new item, for instance Newfile.txt. This is a null-terminated, Unicode string.
  401.         ''' </param>
  402.         '''
  403.         ''' <param name="pszTemplateName">
  404.         ''' Pointer to the name of the template file (for example Excel9.xls) that the new item is based on,
  405.         ''' stored in one of the following locations:
  406.         ''' <para></para>
  407.         '''   - CSIDL_COMMON_TEMPLATES. The default path for this folder is %ALLUSERSPROFILE%\Templates.
  408.         ''' <para></para>
  409.         '''   - CSIDL_TEMPLATES. The default path for this folder is %USERPROFILE%\Templates.
  410.         ''' <para></para>
  411.         '''   - %SystemRoot%\shellnew
  412.         ''' <para></para>
  413.         ''' This is a null-terminated, Unicode string used to specify an existing file of the same type as the new file,
  414.         ''' containing the minimal content that an application wants to include in any new file.
  415.         ''' <para></para>
  416.         ''' This parameter is normally NULL to specify a new, blank file.
  417.         ''' </param>
  418.         '''
  419.         ''' <param name="dwFileAttributes">
  420.         ''' The file attributes applied to the new item.
  421.         ''' </param>
  422.         '''
  423.         ''' <param name="hrNew">
  424.         ''' The return value of the creation operation.
  425.         ''' <para></para>
  426.         ''' Note that this is not the <see cref="HResult"/> returned by <see cref="IFileOperation.NewItem"/>,
  427.         ''' which simply queues the creation operation. Instead, this is the result of the actual creation.
  428.         ''' </param>
  429.         '''
  430.         ''' <param name="psiNewItem">
  431.         ''' The psi new item.
  432.         ''' </param>
  433.         ''' ----------------------------------------------------------------------------------------------------
  434.         ''' <returns>
  435.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  436.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  437.         ''' <para></para>
  438.         ''' In the case of an error value,
  439.         ''' all subsequent operations pending from the call to <see cref="IFileOperation"/> are canceled.
  440.         ''' </returns>
  441.         ''' ----------------------------------------------------------------------------------------------------
  442.         Function PostNewItem(dwFlags As TransferSourceFlags, psiDestinationFolder As IShellItem, <MarshalAs(UnmanagedType.LPWStr)> pszNewName As String, <MarshalAs(UnmanagedType.LPWStr)> pszTemplateName As String, dwFileAttributes As UInteger, <MarshalAs(UnmanagedType.U4)> hrNew As HResult, psiNewItem As IShellItem) As HResult
  443.  
  444.         ''' ----------------------------------------------------------------------------------------------------
  445.         ''' <summary>
  446.         ''' Provides an estimate of the total amount of work currently done in relation to the total amount of work.
  447.         ''' </summary>
  448.         ''' ----------------------------------------------------------------------------------------------------
  449.         ''' <param name="iWorkTotal">
  450.         ''' An estimate of the amount of work to be completed.
  451.         ''' </param>
  452.         '''
  453.         ''' <param name="iWorkSoFar">
  454.         ''' The portion of <paramref name="iWorkTotal"/> that has been completed so far.
  455.         ''' </param>
  456.         ''' ----------------------------------------------------------------------------------------------------
  457.         ''' <returns>
  458.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  459.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  460.         ''' </returns>
  461.         ''' ----------------------------------------------------------------------------------------------------
  462.         Function UpdateProgress(iWorkTotal As UInteger, iWorkSoFar As UInteger) As HResult
  463.  
  464.         ''' ----------------------------------------------------------------------------------------------------
  465.         ''' <summary>
  466.         ''' Not supported.
  467.         ''' </summary>
  468.         ''' ----------------------------------------------------------------------------------------------------
  469.         ''' <returns>
  470.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  471.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  472.         ''' </returns>
  473.         ''' ----------------------------------------------------------------------------------------------------
  474.         Function ResetTimer() As HResult
  475.  
  476.         ''' ----------------------------------------------------------------------------------------------------
  477.         ''' <summary>
  478.         ''' Not supported.
  479.         ''' </summary>
  480.         ''' ----------------------------------------------------------------------------------------------------
  481.         ''' <returns>
  482.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  483.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  484.         ''' </returns>
  485.         ''' ----------------------------------------------------------------------------------------------------
  486.         Function PauseTimer() As HResult
  487.  
  488.         ''' ----------------------------------------------------------------------------------------------------
  489.         ''' <summary>
  490.         ''' Not supported.
  491.         ''' </summary>
  492.         ''' ----------------------------------------------------------------------------------------------------
  493.         ''' <returns>
  494.         ''' If this method succeeds, it returns <see cref="HResult.S_OK"/>.
  495.         ''' Otherwise, it returns an <see cref="HResult"/> error code.
  496.         ''' </returns>
  497.         ''' ----------------------------------------------------------------------------------------------------
  498.         Function ResumeTimer() As HResult
  499.  
  500.     End Interface
  501.  
  502. End Namespace
  503.  
  504. #End Region
  505.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement