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 関数は、次のいずれかのエラー コードを返す場合があります。
リターン コード | 説明 |
---|---|
|
パラメーターが無効です。 |
|
リビジョン レベルが無効です。 |
|
アカウント参照操作で、入力セキュリティ記述子のセキュリティ 識別子 (SID) が見つかりませんでした。 |
|
アクセス制御リスト (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 |