ConvertStringSecurityDescriptorToSecurityDescriptorA 関数 (sddl.h)

ConvertStringSecurityDescriptorToSecurityDescriptor 関数は、文字列形式のセキュリティ記述子を有効な機能セキュリティ記述子に変換します。 この関数は、 ConvertSecurityDescriptorToStringSecurityDescriptor 関数が文字列形式に変換したセキュリティ記述子を取得します。

構文

BOOL ConvertStringSecurityDescriptorToSecurityDescriptorA(
  [in]  LPCSTR               StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

パラメーター

[in] StringSecurityDescriptor

変換する文字列 形式のセキュリティ記述子 を含む null で終わる文字列へのポインター。

[in] StringSDRevision

StringSecurityDescriptor 文字列のリビジョン レベルを指定します。 現在、この値はSDDL_REVISION_1する必要があります。

[out] SecurityDescriptor

変換されたセキュリティ記述子へのポインターを受け取る変数へのポインター。 返されるセキュリティ記述子は 自己相対です。 返されたバッファーを解放するには、 LocalFree 関数を呼び出します。 セキュリティ記述子を 絶対セキュリティ記述子に変換するには、 MakeAbsoluteSD 関数を使用します。

[out] SecurityDescriptorSize

変換されたセキュリティ記述子のサイズ (バイト単位) を受け取る変数へのポインター。 このパラメーターは、NULL でもかまいません。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 GetLastError は 、次のいずれかのエラー コードを返す場合があります。

リターン コード 説明
ERROR_INVALID_PARAMETER
パラメーターが無効です。
ERROR_UNKNOWN_REVISION
SDDL リビジョン レベルが無効です。
ERROR_NONE_MAPPED
アカウント参照操作で、入力セキュリティ記述子文字列内のセキュリティ 識別子 (SID) が見つかりませんでした。

注釈

ace_typeがACCESS_ALLOWED_OBJECT_ACE_TYPEで、object_guidinherit_object_guidGUID が指定されていない場合、ConvertStringSecurityDescriptorToSecurityDescriptorace_typeをACCESS_ALLOWED_ACE_TYPEに変換します。 ace_typeobject_guid、およびinherit_object_guidフィールドの詳細については、「Ace 文字列」を参照してください。

注意

sddl.h ヘッダーは、ConvertStringSecurityDescriptorToSecurityDescriptor をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

こちらもご覧ください

アクセス制御の概要

基本的なAccess Control関数

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR