Пример #1
0
            HRESULT Shell32.IFileSaveDialog.SetSaveAsItem(Shell32.IShellItem psi)
            {
                IntPtr psi_local = WinFormsComWrappers.Instance.GetComPointer(psi, IID.IShellItem);

                return(((delegate * unmanaged <IntPtr, IntPtr, HRESULT>)(*(*(void ***)_wrappedInstance + 27)))
                           (_wrappedInstance, psi_local));
            }
            public void GetItemAt(uint dwIndex, out Shell32.IShellItem ppsi)
            {
                IntPtr ppsi_local;

                ((delegate * unmanaged <IntPtr, uint, IntPtr *, HRESULT>)(*(*(void ***)_wrappedInstance + 8)))
                    (_wrappedInstance, dwIndex, &ppsi_local).ThrowIfFailed();
                ppsi = (Shell32.IShellItem)WinFormsComWrappers.Instance.GetOrCreateObjectForComInstance(ppsi_local, CreateObjectFlags.Unwrap);
            }
Пример #3
0
            HRESULT Shell32.IFileSaveDialog.ApplyProperties(Shell32.IShellItem psi, IntPtr pStore, ref IntPtr hwnd, IntPtr pSink)
            {
                IntPtr psi_local = WinFormsComWrappers.Instance.GetComPointer(psi, IID.IShellItem);

                fixed(IntPtr *hwnd_local = &hwnd)
                {
                    return(((delegate * unmanaged <IntPtr, IntPtr, IntPtr, IntPtr *, IntPtr, HRESULT>)(*(*(void ***)_wrappedInstance + 31)))
                               (_wrappedInstance, psi_local, pStore, hwnd_local, pSink));
                }
            }
            HRESULT Shell32.IShellItem.Compare(Shell32.IShellItem psi, uint hint, out int piOrder)
            {
                HRESULT retVal;
                IntPtr  ppv_local = WinFormsComWrappers.Instance.GetComPointer(psi, IID.IShellItem);

                fixed(int *piOrder_local = &piOrder)
                {
                    retVal = ((delegate * unmanaged <IntPtr, IntPtr, uint, int *, HRESULT>)(*(*(void ***)_wrappedInstance + 7)))
                                 (_wrappedInstance, ppv_local, hint, piOrder_local);
                }

                return(retVal);
            }
 public static int OnShareViolation(IntPtr thisPtr, IntPtr pfd, IntPtr psi, Shell32.FDESVR *pResponse)
 {
     try
     {
         Shell32.IFileDialogEvents inst = ComInterfaceDispatch.GetInstance <Shell32.IFileDialogEvents>((ComInterfaceDispatch *)thisPtr);
         Shell32.IFileDialog       fd   = (Shell32.IFileDialog)Instance.GetOrCreateObjectForComInstance(pfd, CreateObjectFlags.Unwrap);
         Shell32.IShellItem        si   = (Shell32.IShellItem)Instance.GetOrCreateObjectForComInstance(psi, CreateObjectFlags.Unwrap);
         return((int)inst.OnShareViolation(fd, si, pResponse));
     }
     catch (Exception ex)
     {
         return(ex.HResult);
     }
 }
 public static int OnFolderChanging(IntPtr thisPtr, IntPtr pfd, IntPtr psiFolder)
 {
     try
     {
         Shell32.IFileDialogEvents inst     = ComInterfaceDispatch.GetInstance <Shell32.IFileDialogEvents>((ComInterfaceDispatch *)thisPtr);
         Shell32.IFileDialog       fd       = (Shell32.IFileDialog)Instance.GetOrCreateObjectForComInstance(pfd, CreateObjectFlags.Unwrap);
         Shell32.IShellItem        siFolder = (Shell32.IShellItem)Instance.GetOrCreateObjectForComInstance(psiFolder, CreateObjectFlags.Unwrap);
         return((int)inst.OnFolderChanging(fd, siFolder));
     }
     catch (Exception ex)
     {
         return(ex.HResult);
     }
 }
 void Shell32.IFileOpenDialog.SetFolder(Shell32.IShellItem psi)
 {
     ((Shell32.IFileDialog) this).SetFolder(psi);
 }
 HRESULT Shell32.IFileOpenDialog.AddPlace(Shell32.IShellItem psi, Shell32.FDAP fdap)
 {
     return(((Shell32.IFileDialog) this).AddPlace(psi, fdap));
 }
Пример #9
0
 void Shell32.IFileSaveDialog.SetDefaultFolder(Shell32.IShellItem psi)
 {
     ((Shell32.IFileDialog) this).SetDefaultFolder(psi);
 }