diff options
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/reference/components/nsdirectoryservice/index.html')
-rw-r--r-- | files/ja/mozilla/tech/xpcom/reference/components/nsdirectoryservice/index.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/files/ja/mozilla/tech/xpcom/reference/components/nsdirectoryservice/index.html b/files/ja/mozilla/tech/xpcom/reference/components/nsdirectoryservice/index.html new file mode 100644 index 0000000000..dbec00fb06 --- /dev/null +++ b/files/ja/mozilla/tech/xpcom/reference/components/nsdirectoryservice/index.html @@ -0,0 +1,71 @@ +--- +title: nsDirectoryService +slug: Mozilla/Tech/XPCOM/Reference/Components/nsDirectoryService +tags: + - Components + - 'Components:Frozen' + - XPCOM + - XPCOM API Reference +translation_of: Mozilla/Tech/XPCOM/Reference/Components/nsDirectoryService +--- +<p>« <a href="/ja/docs/XPCOM_API_Reference">XPCOM API Reference</a></p> + +<h3 id=".E8.A6.81.E7.B4.84" name=".E8.A6.81.E7.B4.84">要約</h3> + +<p>XPCOM ディレクトリサービス。このサービスは、OS 固有のマナーで "よく知られた" ディレクトリの場所を返します。例えば、システムの一時ディレクトリやデスクトップディレクトリ、現在の作業ディレクトリなどのパスを提供します。</p> + +<dl> + <dt>Class ID</dt> + <dd><code>f00152d0-b40b-11d3-8c9c-000064657374</code></dd> + <dt>ContractID</dt> + <dd><code>@mozilla.org/file/directory_service;1</code></dd> +</dl> + +<h3 id=".E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E3.81.95.E3.82.8C.E3.81.9F.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9" name=".E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E3.81.95.E3.82.8C.E3.81.9F.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9">サポートされたインタフェース</h3> + +<p><code><a href="ja/NsIProperties">nsIProperties</a></code>, <code><a href="ja/NsIDirectoryService">nsIDirectoryService</a> </code></p> + +<h3 id=".E3.82.B3.E3.83.A1.E3.83.B3.E3.83.88" name=".E3.82.B3.E3.83.A1.E3.83.B3.E3.83.88">コメント</h3> + +<p>このコンポーネントは、単独で使用するか、XPCOM サービスマネージャを通してアクセスします。</p> + +<h3 id=".E3.82.B3.E3.83.BC.E3.83.89.E4.BE.8B" name=".E3.82.B3.E3.83.BC.E3.83.89.E4.BE.8B">コード例</h3> + +<pre>#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; +} +</pre> + +<p>NS_OS_TEMP_DIR は、他の多くの Directory Service キーと共に、<a class="external" href="http://lxr.mozilla.org/mozilla/source/xpcom/io/nsDirectoryServiceDefs.h">nsDirectoryServiceDefs.h</a> で定義されているので注意してください。</p> + +<h3 id=".E5.8F.82.E8.80.83" name=".E5.8F.82.E8.80.83">参考</h3> + +<p><a href="ja/Using_nsIDirectoryService">Using nsIDirectoryService</a>, <a href="ja/NsIProperties#get">nsIProperties::get</a>, <a href="ja/NsIDirectoryServiceProvider">nsIDirectoryServiceProvider</a></p> + +<div class="noinclude"> </div> |