LsaAddAccountRights 関数 (ntsecapi.h)

LsaAddAccountRights 関数は、アカウントに 1 つ以上の特権を割り当てます。 アカウントが存在しない場合は、 LsaAddAccountRights によって作成されます。

構文

NTSTATUS LsaAddAccountRights(
  [in] LSA_HANDLE          PolicyHandle,
  [in] PSID                AccountSid,
  [in] PLSA_UNICODE_STRING UserRights,
  [in] ULONG               CountOfRights
);

パラメーター

[in] PolicyHandle

Policy オブジェクトへのハンドル。 ハンドルには、POLICY_LOOKUP_NAMESアクセス権が必要です。 AccountSid パラメーターで識別されたアカウントが存在しない場合、ハンドルにはPOLICY_CREATE_ACCOUNTアクセス権が必要です。 詳細については、「 ポリシー オブジェクト ハンドルを開く」を参照してください。

[in] AccountSid

関数が 特権を割り当てるアカウントの SID へのポインター。

[in] UserRights

LSA_UNICODE_STRING構造体の配列へのポインター。 各構造体には、アカウントに追加する特権の名前が含まれています。 特権名の一覧については、「 特権定数」を参照してください。

[in] CountOfRights

UserRights 配列内の要素の数を指定します。

戻り値

関数が成功した場合、戻り値はSTATUS_SUCCESS。

関数が失敗した場合、戻り値は NTSTATUS コードで、次の値または LSA ポリシー関数の戻り値のいずれかになります。

リターン コード 説明
STATUS_NO_SUCH_PRIVILEGE
特権名の 1 つが無効です。
 

LsaNtStatusToWinError 関数を使用すると、NTSTATUS コードを Windows エラー コードに変換できます。

注釈

アカウントに既に付与されている特権を指定した場合、それらは無視されます。

この関数の呼び出しを示す例については、「 アカウントのアクセス許可の管理」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ntsecapi.h
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

LSA_UNICODE_STRING

LsaEnumerateAccountRights

LsaRemoveAccountRights