LsaStorePrivateData 関数 (ntsecapi.h)
LSA プライベート データ関数や汎用データの暗号化と暗号化解除は使用しないでください。 代わりに、 CryptProtectData 関数と CryptUnprotectData 関数を 使用します。 「シークレット オブジェクト データ モデル」に記載されている LSA シークレットを操作する必要がある場合にのみ、LSA プライベート データ関数を使用します
構文
NTSTATUS LsaStorePrivateData(
[in] LSA_HANDLE PolicyHandle,
[in] PLSA_UNICODE_STRING KeyName,
[in] PLSA_UNICODE_STRING PrivateData
);
パラメーター
[in] PolicyHandle
Policy オブジェクトへのハンドル。 KeyName パラメーターで指定されたキーの下にデータを初めて格納する場合は、ハンドルにPOLICY_CREATE_SECRETアクセス権が必要です。 詳細については、「 ポリシー オブジェクト ハンドルを開く」を参照してください。
[in] KeyName
プライベート データが格納されているキーの名前を含む LSA_UNICODE_STRING 構造体へのポインター。
[in] PrivateData
格納するプライベート データを含む LSA_UNICODE_STRING 構造体へのポインター。 関数は、このデータを格納する前に暗号化します。
このパラメーターが NULL の場合、関数はキーの下に格納されているすべてのプライベート データを削除し、キーを削除します。 キーからデータを取得しようとすると、STATUS_OBJECT_NAME_NOT_FOUNDエラー コードが返されます。
戻り値
関数が成功した場合、戻り値はSTATUS_SUCCESS。
関数が失敗した場合、戻り値は NTSTATUS コードです。 詳細については、「 LSA ポリシー関数の戻り値」を参照してください。
LsaNtStatusToWinError 関数を使用して、NTSTATUS コードを Windows エラー コードに変換できます。
注釈
LsaStorePrivateData 関数は、サーバー アプリケーションがクライアントとコンピューターのパスワードを格納するために使用できます。
「プライベート データ オブジェクト」で説明されているように、プライベート データ オブジェクトには、ローカル、グローバル、マシンの 3 つの特殊な型が含まれます。 特殊化されたオブジェクトは、キー名のプレフィックス (ローカル オブジェクトの場合は "L$")、グローバル オブジェクトの場合は "G$"、マシン オブジェクトの場合は "M$" で識別されます。 ローカル オブジェクトにリモートでアクセスすることはできません。 マシン オブジェクトにアクセスできるのは、オペレーティング システムだけです。
これらのプレフィックスに加えて、次の値はローカル オブジェクトまたはマシン オブジェクトも示します。 これらの値は下位互換性のためにサポートされており、新しいローカル オブジェクトまたはマシン オブジェクトを作成するときに使用しないでください。 ローカル プライベート データ オブジェクトのキー名は、"$machine.acc"、"SAC"、"SAI"、"SANSC"、または "RasDialParms" または "RasCredentials" で始まる場合もあります。 マシン オブジェクトのキー名は、"NL$" または "sc" で始まる場合もあります。
上記のキー名規則を使用しないプライベート データ オブジェクトにはリモートでアクセスでき、他のドメインにはレプリケートされません。
LsaStorePrivateData 関数によって格納されるデータは、絶対に保護されていません。 ただし、データは格納される前に暗号化され、キーには DACL があり、作成者と管理者のみがデータを読み取ることができます。
LsaRetrievePrivateData 関数を使用して、LsaStorePrivateData によって格納された値を取得します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecapi.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |