コンソールプロジェクトのVisual Studio 2015コミュニティでConvertSidToStringSid()関数を使用しようとしています。Visual Studio 2015 C++ sddl.hが外部依存として表示されない
MSDNのページによると
https://msdn.microsoft.com/en-us/library/windows/desktop/aa376399(v=vs.85).aspx
要件は次のとおりです。
Minimum supported client: Windows XP [desktop apps only]
Minimum supported server: Windows Server 2003 [desktop apps only]
Header: sddl.h
Library: Advapi32.lib
DLL: Advapi32.dll
私は、Windows 10のホーム、64ビットコンピュータを使用しています。私はstdafx.hをの「#inclucde」に記入した場合、私はインテリセンスからのエラーを取得していない
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64\AdvAPI32.Lib
C:\Windows\System32\advapi32.dll
:私はでそれぞれ* .libファイルと* .dllファイルを持っています。対照的に、 "#include <blah.h>"は、 "include"の下に赤い揺れの下線を、マウスオーバーには "Error:ソースファイル" blah.h "を開くことができません。 「stdafx.hを」を含む私の.cppソースファイルでは、
は、私がコード
BOOL OK ... ;
PSID owner;
char *sOwner;
OK = ConvertSidToStringSidW(owner, sOwner);
を追加したが、その後、私はConvertSidToStringSidW下の赤いウィグルを取得します。
ソリューションエクスプローラで、プロジェクトの外部依存下に、これらの2つの間にSCardErr.hとsdkddkver.hというファイルがありますが、何もないsddl.hはありません。 (そして、sddkver.hは_WIN32_WINNT_THRESHOLD 0x0A00を定義しています。エディタでIntelliSenseでテストすると、_WIN32_WINNTも0x0A00です)
コンパイルすると、まずsddl.hファイルが見つかりませんでしたというエラーメッセージが表示されます。私は、コンピュータ上の複数のコピーを持っているし、すべての構成については、「その他には、ディレクトリ」、
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared
コンパイルはまだ「識別子xxxは未定義である」と「XXX」で失敗したディレクトリに追加:から、識別子が見つかりません。 IntelliSenseおよびBuildをそれぞれ使用します。
ヘッダーsddl.hはまだ外部の依存関係にありません。 sdksddkver.hを右クリックすると、そのフルパスが取得されます:新たに追加された追加のインクルードディレクトリ。私はこのインクルードディレクトリを追加する前に何があったのかわかりません。
stdafx.hのincludeディレクティブを右クリックすると、sddl.hを開くことができます。エディタは、引数がfalseの#if /#ifdefディレクティブによって内容が保護されているときに、内容の一部を明るい灰色の色で表示します。ただし、使用する関数ConvertSidToStringSidはフルカラーで表示されます。
エラーメッセージが「宣言」ではなく「定義済み」と言っているかどうか不明です。プロジェクトのプロパティ、リンカー、入力、その他の依存関係では、ファイルadvapi32.libが一覧表示されます。
私は間違っていますか?