Source code
Revision control
Copy as Markdown
Other Tools
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
#include "nsISupports.idl"
[scriptable, uuid(19904b57-e6b8-4c0f-86eb-5ffce4c8d675)]
interface nsIWindowsDebugProcessData : nsISupports
{
// "User-friendly name" of the process.
readonly attribute AString name;
// Full path to the executable of the process.
readonly attribute AString executablePath;
// PID of the process.
readonly attribute unsigned long pid;
};
// Useful for debugging Windows errors related to resources in use. This class
// should only be used for debugging purposes.
[scriptable, uuid(15725b2d-08d1-4b18-9e83-0cccfb87b982)]
interface nsIWindowsTestDebug : nsISupports
{
/**
* Get the list of processes that currently have an open handle to aFilename.
* This can be used to determine what other processess (if any) are
* preventing access to a file, or even if this process still has open
* handles to it. Currently, this list will not include file handles
* obtained via memory mapping, which can be kept beyond closing the handle
* that they mapped on Windows. This behavior is obviously racy.
*
* @param aFilepath Full path to the file we are querying.
* @returns An array of the processes that held handles to aFilename at the
* time the function was executed.
*/
Array<nsIWindowsDebugProcessData> processesThatOpenedFile(in AString aFilename);
};