RtlEncryptMemory 関数 (ntsecapi.h)
[RtlDecryptMemory 関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 代わりに、CryptProtectMemory 関数を使用します。
RtlEncryptMemory 関数は、メモリの内容を暗号化します。 暗号化された内容は、RtlDecryptMemory 関数への後続の呼び出しによって復号化できます。
手記
この関数には、関連付けられたインポート ライブラリがありません。 この関数は、Advapi32.dll
SystemFunction040 という名前のリソースとして使用できます。
構文
NTSTATUS RtlEncryptMemory(
[in, out] PVOID Memory,
[in] ULONG MemorySize,
[in] ULONG OptionFlags
);
パラメーター
[in, out] Memory
暗号化するメモリへのポインター。 メモリのサイズは、RTL_ENCRYPT_MEMORY_SIZE 定数の倍数である必要があります。
[in] MemorySize
メモリ がポイント
[in] OptionFlags
プロセスの境界と偽装に対する暗号化のしくみを指定する値。 このパラメーターには、次のいずれかの値を指定できます。 値は相互に排他的です。 メモリを暗号化および復号化するときは、同じフラグを指定する必要があります。
価値 | 意味 |
---|---|
0 |
同じプロセスでメモリの暗号化と暗号化解除を行います。 別のプロセスで実行されているアプリケーションは、データの暗号化を解除できません。 |
RTL_ENCRYPT_OPTION_CROSS_PROCESS0x01 |
さまざまなプロセスでメモリの暗号化と暗号化解除を行います。 別のプロセスで実行されているアプリケーションは、データを復号化できます。 |
RTL_ENCRYPT_OPTION_SAME_LOGON0x02 |
同じログオン資格情報を使用して、異なるプロセスのメモリを暗号化および復号化します。 別のプロセスで実行されているアプリケーションは、データを復号化できます。 ただし、このプロセスは、データを暗号化したユーザーと同じログオン セッションで実行する必要があります。 |
RTL_ENCRYPT_OPTION_FOR_SYSTEM0x04 |
呼び出し元が情報を暗号化して、システム プロセスによってのみ暗号化を解除できるようにします。 |
戻り値
関数が成功した場合、戻り値は STATUS_SUCCESS。
関数が失敗した場合、戻り値はエラーを示す NTSTATUS コードです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP、Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003、Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ntsecapi.h |
DLL | Advapi32.dll |