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 または ゼロ に初期化します。

[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

関連項目

LSA_HANDLE

LSA_OBJECT_ATTRIBUTES

LSA_UNICODE_STRING

LsaClose

LsaNtStatusToWinError