Share via


方法 : デバイス メモリを取得します。

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

デバイスの利用可能なメモリを取得するには、使用のプラットフォームをネイティブ GlobalMemoryStatusGetSystemMemoryDivision 関数を呼び出す呼び出し。

使用例

コード例を次を定義します。

  • プラットフォーム呼び出し Windows Embedded CE のネイティブ メソッドの宣言。

  • 渡すし、ネイティブのメソッドからの受信に構造体です。

  • ShowMemory、利用可能なメモリを表示する名前付きマネージ メソッドです。

                        Public
                        Structure MEMORYSTATUS
    Public dwLength As UInt32
    Public dwMemoryLoad As UInt32
    Public dwTotalPhys As UInt32
    Public dwAvailPhys As UInt32
    Public dwTotalPageFile As UInt32
    Public dwAvailPageFile As UInt32
    Public dwTotalVirtual As UInt32
    Public dwAvailVirtual As UInt32
EndStructurePublicDeclareFunction GlobalMemoryStatus Lib"CoreDll.Dll" _
    (ByRef ms As MEMORYSTATUS) AsIntegerPublicDeclareFunction GetSystemMemoryDivision Lib"CoreDll.Dll" _
    (ByRef lpdwStorePages As UInt32, _
    ByRef ldpwRamPages As UInt32, _
    ByRef ldpwPageSize As UInt32) AsIntegerPublicSharedSub ShowMemory()
    Dim storePages As UInt32
    Dim ramPages As UInt32
    Dim pageSize As UInt32
    Dim res AsInteger = _
        GetSystemMemoryDivision(storePages, ramPages, pageSize)

    ' Call the native GlobalMemoryStatus method    ' with the defined structure.Dim memStatus AsNew MEMORYSTATUS
    GlobalMemoryStatus(memStatus)

  ' Use a StringBuilder for the message box string.Dim MemoryInfo AsNew StringBuilder
    MemoryInfo.Append("Memory Load: " _
        & memStatus.dwMemoryLoad.ToString() & vbCrLf)
    MemoryInfo.Append("Total Physical: " _
        & memStatus.dwTotalPhys.ToString() & vbCrLf)
    MemoryInfo.Append("Avail Physical: " _
        & memStatus.dwAvailPhys.ToString() & vbCrLf)
    MemoryInfo.Append("Total Page File: " _
        & memStatus.dwTotalPageFile.ToString() & vbCrLf)
    MemoryInfo.Append("Avail Page File: " _
        & memStatus.dwAvailPageFile.ToString() & vbCrLf)
    MemoryInfo.Append("Total Virtual: " _
        & memStatus.dwTotalVirtual.ToString() & vbCrLf)
    MemoryInfo.Append("Avail Virtual: " _
        & memStatus.dwAvailVirtual.ToString() & vbCrLf)

    ' Show the available memory.
    MessageBox.Show(MemoryInfo.ToString())  

EndSub
                        public
                        struct MEMORYSTATUS
{
    public UInt32 dwLength;
    public UInt32 dwMemoryLoad;
    public UInt32 dwTotalPhys;
    public UInt32 dwAvailPhys;
    public UInt32 dwTotalPageFile;
    public UInt32 dwAvailPageFile;
    public UInt32 dwTotalVirtual;
    public UInt32 dwAvailVirtual;
}

[DllImport("CoreDll.dll")]
publicstaticexternvoid GlobalMemoryStatus
(
    ref MEMORYSTATUS lpBuffer
);

[DllImport("CoreDll.dll")]
publicstaticexternint GetSystemMemoryDivision
(
    ref UInt32 lpdwStorePages,
    ref UInt32 lpdwRamPages,
    ref UInt32 lpdwPageSize
);

publicvoid ShowMemory()
{
    UInt32 storePages = 0;
    UInt32 ramPages = 0;
    UInt32 pageSize = 0;
    int res = GetSystemMemoryDivision(ref storePages, 
        ref ramPages, ref pageSize);

    // Call the native GlobalMemoryStatus method// with the defined structure.
    MEMORYSTATUS memStatus = new MEMORYSTATUS();
    GlobalMemoryStatus(ref memStatus);

    // Use a StringBuilder for the message box string.
    StringBuilder MemoryInfo = new StringBuilder();
    MemoryInfo.Append("Memory Load: " 
        + memStatus.dwMemoryLoad.ToString() + "\n");
    MemoryInfo.Append("Total Physical: " 
        + memStatus.dwTotalPhys.ToString() + "\n");
    MemoryInfo.Append("Avail Physical: " 
        + memStatus.dwAvailPhys.ToString() + "\n");
    MemoryInfo.Append("Total Page File: " 
        + memStatus.dwTotalPageFile.ToString() + "\n");
    MemoryInfo.Append("Avail Page File: " 
        + memStatus.dwAvailPageFile.ToString() + "\n");
    MemoryInfo.Append("Total Virtual: " 
        + memStatus.dwTotalVirtual.ToString() + "\n");
    MemoryInfo.Append("Avail Virtual: " 
        + memStatus.dwAvailVirtual.ToString() + "\n");

    // Show the available memory.
    MessageBox.Show(MemoryInfo.ToString());

}

コードのコンパイル方法

この例では、次の名前空間への参照が必要です。

参照

処理手順

方法 : デバイス ID と名前を取得します。

その他の技術情報

.NET Compact Framework の相互運用性