nsDirectoryService 编辑

« XPCOM API Reference

Summary

The XPCOM Directory Service. This service returns the locations of "well known" directories in an OS-independent manner. For instance, it can give you the path of the system's temporary directory, desktop directory, current working directory, and so on.

Class ID
f00152d0-b40b-11d3-8c9c-000064657374
ContractID
@mozilla.org/file/directory_service;1

Supported Interfaces

  • nsIProperties
  • nsIDirectoryService

     

    Remarks

    This component is a singleton and should therefore be accessed via the XPCOM Service Manager.

    Example Code

    #include "nsXPCOM.h"
    #include "nsCOMPtr.h"
    #include "nsDirectoryServiceDefs.h"
    #include "nsIServiceManager.h"
    #include "nsIProperties.h"
    
    /**
     * Get the location of the system's "temp" directory.
     */
    nsresult GetTempDir(nsIFile **aResult)
    {
      nsresult rv;
    
      nsCOMPtr<nsIServiceManager> svcMgr;
      rv = NS_GetServiceManager(getter_AddRefs(svcMgr));
      if (NS_FAILED(rv))
        return rv;
    
      nsCOMPtr<nsIProperties> directory;
      rv = svcMgr->GetServiceByContractID("@mozilla.org/file/directory_service;1",
                                          NS_GET_IID(nsIProperties),
                                          getter_AddRefs(directory));
      if (NS_FAILED(rv))
        return rv;
    
      rv = directory->Get(NS_OS_TEMP_DIR, NS_GET_IID(nsIFile), aResult);
    
      return rv;
    }
    

    Note that NS_OS_TEMP_DIR is defined in nsDirectoryServiceDefs.h along with a number of other Directory Service keys.

    See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:90 次

字数:2725

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文