LsaOpenPolicy 関数 (ntsecapi.h)
LsaOpenPolicy 関数は、ローカル またはリモート システムの Policy オブジェクトへのハンドルを開きます。
ERROR_ACCESS_DENIEDで呼び出しが失敗しないように、"管理者として" プロセスを実行する必要があります。
構文
NTSTATUS LsaOpenPolicy(
[in] PLSA_UNICODE_STRING SystemName,
[in] PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
[in] ACCESS_MASK DesiredAccess,
[in, out] PLSA_HANDLE PolicyHandle
);
パラメーター
[in] SystemName
ターゲット システムの名前を含む LSA_UNICODE_STRING 構造体へのポインター。 名前には、"ComputerName" または "\\ComputerName" という形式を指定できます。 このパラメーターが NULL の場合、関数はローカル システムで Policy オブジェクトを開きます。
[in] ObjectAttributes
接続属性を指定する LSA_OBJECT_ATTRIBUTES 構造体へのポインター。 構造体メンバーは使用されません。を NULL または 0 に初期化します。
[in] DesiredAccess
要求されたアクセス権を指定する ACCESS_MASK 。 ターゲット・システムの DACL が、要求されたアクセスを呼び出し元に許可していない場合、関数は失敗します。 必要なアクセス権を確認するには、ポリシー ハンドルを使用する LSA 関数のドキュメントを参照してください。
[in, out] PolicyHandle
Policy オブジェクトへのハンドルを受け取るLSA_HANDLE変数へのポインター。
このハンドルが不要になったら、 LsaClose 関数に渡してハンドルを閉じます。
戻り値
関数が成功した場合、関数はSTATUS_SUCCESSを返します。
関数が失敗した場合は、 NTSTATUS コードを返します。 詳細については、「 LSA ポリシー関数の戻り値」を参照してください。
LsaNtStatusToWinError 関数を使用して、NTSTATUS コードを Windows エラー コードに変換できます。
注釈
ローカル システムまたはリモート システムのローカル セキュリティ ポリシーを管理するには、 LsaOpenPolicy 関数を呼び出して、そのシステムの LSA サブシステムとのセッションを確立する必要があります。 LsaOpenPolicy はターゲット システムの LSA に接続し、そのシステムの Policy オブジェクトへのハンドルを返します。 このハンドルは、後続の LSA 関数呼び出しで使用して、ターゲット システムの ローカル セキュリティ ポリシー 情報を管理できます。
この関数の呼び出しを示す例については、「 ポリシー オブジェクト ハンドルを開く」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | ntsecapi.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |