ConvertSecurityDescriptorToStringSecurityDescriptorA 関数 (sddl.h)

ConvertSecurityDescriptorToStringSecurityDescriptor 関数は、セキュリティ記述子を文字列形式に変換します。 文字列形式を使用して、セキュリティ記述子を格納または送信できます。

文字列形式のセキュリティ記述子を有効な機能セキュリティ記述子に変換するには、 ConvertStringSecurityDescriptorToSecurityDescriptor 関数を 呼び出します。

構文

BOOL ConvertSecurityDescriptorToStringSecurityDescriptorA(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  DWORD                RequestedStringSDRevision,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] LPSTR                *StringSecurityDescriptor,
  [out] PULONG               StringSecurityDescriptorLen
);

パラメーター

[in] SecurityDescriptor

変換するセキュリティ記述子へのポインター。 セキュリティ記述子は、 絶対形式または自己相対形式にすることができます。

[in] RequestedStringSDRevision

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

[in] SecurityInformation

出力文字列に含めるセキュリティ記述子のコンポーネントを示す 、SECURITY_INFORMATION ビット フラグの組み合わせを指定します。

BACKUP_SECURITY_INFORMATION フラグは、この関数には適用できません。 BACKUP_SECURITY_INFORMATION フラグが渡された場合、 SecurityInformation パラメーターは NULL 文字列出力で TRUE を返します。

[out] StringSecurityDescriptor

null で終わるセキュリティ記述子文字列へのポインターを受け取る変数へのポインター。 文字列形式の説明については、「 セキュリティ記述子の文字列形式」を参照してください。 返されたバッファーを解放するには、 LocalFree 関数を呼び出します。

[out] StringSecurityDescriptorLen

StringSecurityDescriptor バッファーで返されるセキュリティ記述子文字列のサイズを TCHARs で受け取る変数へのポインター。 このパラメーターは、サイズを取得する必要がない場合は NULL にすることができます。 size は、文字列内の WCHARの数ではなく、 WCHARs のバッファーのサイズを表します。

戻り値

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

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

リターン コード 説明
ERROR_INVALID_PARAMETER
パラメーターが無効です。
ERROR_UNKNOWN_REVISION
リビジョン レベルが無効です。
ERROR_NONE_MAPPED
アカウント参照操作で、入力セキュリティ記述子のセキュリティ 識別子 (SID) が見つかりませんでした。
ERROR_INVALID_ACL
アクセス制御リスト (ACL) が無効です。 このエラーは、入力セキュリティ記述子でSE_DACL_PRESENT フラグが設定され、DACL が NULL の場合に返されます。

注釈

DACL が NULL で、入力セキュリティ記述子でSE_DACL_PRESENT制御ビットが設定されている場合、関数は失敗します。

DACL が NULL で、SE_DACL_PRESENT制御ビットが入力セキュリティ記述子に設定されていない場合、結果のセキュリティ記述子文字列には D: コンポーネントがありません。 詳細については、「 セキュリティ記述子の文字列形式」を参照してください。

注意

sddl.h ヘッダーは、ConvertSecurityDescriptorToStringSecurityDescriptor をエイリアスとして定義し、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関数

ConvertSidToStringSid

ConvertStringSecurityDescriptorToSecurityDescriptor

ConvertStringSidToSid

SECURITY_DESCRIPTOR

SECURITY_INFORMATION