次の方法で共有


KNOWNFOLDER_DEFINITION構造体 (shobjidl_core.h)

既知のフォルダーの詳細を定義します。

構文

typedef struct KNOWNFOLDER_DEFINITION {
  KF_CATEGORY         category;
  LPWSTR              pszName;
  LPWSTR              pszDescription;
  KNOWNFOLDERID       fidParent;
  LPWSTR              pszRelativePath;
  LPWSTR              pszParsingName;
  LPWSTR              pszTooltip;
  LPWSTR              pszLocalizedName;
  LPWSTR              pszIcon;
  LPWSTR              pszSecurity;
  DWORD               dwAttributes;
  KF_DEFINITION_FLAGS kfdFlags;
  FOLDERTYPEID        ftidType;
} KNOWNFOLDER_DEFINITION;

メンバー

category

種類: KF_CATEGORY

フォルダーを仮想、固定、共通、またはユーザーごとに分類する、 KF_CATEGORY 定数の 1 つの値。

pszName

種類: LPWSTR

null で終わる Unicode 文字列として格納されている、既知のフォルダーのローカライズされていない正規名へのポインター。 このフォルダーが共通フォルダーまたはユーザー単位のフォルダーの場合、この値は "ユーザー シェル フォルダー" レジストリ設定の値名としても使用されます。 この名前は、人間が判読できる一意の名前を意味します。 サード パーティは、 という形式 Company.Application.Nameに従うことをお勧めします。 ここで指定した名前は、表示名と混同しないでください。

pszDescription

種類: LPWSTR

null で終わる Unicode 文字列として格納されている、既知のフォルダーの簡単な説明へのポインター。 この説明には、フォルダーの目的と使用方法が含まれている必要があります。

fidParent

種類: KNOWNFOLDERID

親フォルダーとして機能する別の既知のフォルダーに名前を付ける KNOWNFOLDERID 値。 共通フォルダーとユーザー単位のフォルダーにのみ適用されます。 この値は pszRelativePath と組み合わせて使用されます。 詳細については、「 解説 」を参照してください。

pszRelativePath に値が指定されていない場合、この値は省略可能です。

pszRelativePath

種類: LPWSTR

省略可能。 fidParent で指定された親フォルダーに対する相対パスへのポインター。 これは null で終わる Unicode 文字列であり、物理ファイル システムパスを参照し、ローカライズされません。 共通フォルダーとユーザー単位のフォルダーにのみ適用されます。 詳細については、「 解説 」を参照してください。

pszParsingName

種類: LPWSTR

null で終わる Unicode 文字列として格納されている、フォルダーのシェル名前空間フォルダー パスへのポインター。 仮想フォルダーにのみ適用されます。 たとえば、 Control Panel の解析名 ::%CLSID_MyComputer%::%CLSID_ControlPanel%は です。

pszTooltip

種類: LPWSTR

省略可能。 この既知のフォルダーの作成時に使用される既定のツールヒント リソースへのポインター。 これは、次の形式の null で終わる Unicode 文字列です。

モジュール名、リソース ID

たとえば、 @%_SYS_MOD_PATH%,-12688 は共通の画像のツールヒントです。 フォルダーが作成されると、この文字列はそのフォルダーの Desktop.ini のコピーに格納されます。 これは、他のシェル API によって後で変更できます。 このリソースはローカライズされている可能性があります。

この情報は、仮想フォルダーには必要ありません。

pszLocalizedName

種類: LPWSTR

省略可能。 フォルダーの作成時に使用される既定のローカライズされた名前リソースへのポインター。 これは、次の形式の null で終わる Unicode 文字列です。

モジュール名、リソース ID

フォルダーが作成されると、この文字列はそのフォルダーの Desktop.ini のコピーに格納されます。 これは、他のシェル API によって後で変更できます。

この情報は、仮想フォルダーには必要ありません。

pszIcon

種類: LPWSTR

省略可能。 フォルダーの作成時に使用される既定のアイコン リソースへのポインター。 これは、次の形式の null で終わる Unicode 文字列です。

モジュール名、リソース ID

フォルダーが作成されると、この文字列はそのフォルダーの Desktop.ini のコピーに格納されます。 これは、他のシェル API によって後で変更できます。

この情報は、仮想フォルダーには必要ありません。

pszSecurity

種類: LPWSTR

省略可能。 セキュリティ記述子定義言語の書式指定文字列へのポインター。 これは、フォルダーの作成時にフォルダーが受け取る既定のセキュリティ記述子を記述する、null で終わる Unicode 文字列です。 このパラメーターが NULL の場合、新しいフォルダーはその親のセキュリティ記述子を継承します。 これは、すべてのユーザーがアクセスする一般的なフォルダーに特に役立ちます。

dwAttributes

型: DWORD

省略可能。 フォルダーの作成時にフォルダーに指定される既定のファイル システム属性。 たとえば、ファイルを非表示にして読み取り専用 (FILE_ATTRIBUTE_HIDDENとFILE_ATTRIBUTE_READONLY) できます。 使用可能な値の完全な一覧については、CreateFile 関数の dwFlagsAndAttributes パラメーターを参照してください。 必要ない場合は-1 に設定します。

kfdFlags

種類: KF_DEFINITION_FLAGS

省略可能。 リダイレクトを制限したり、PC 間ローミングを許可したり、既知のフォルダーが作成される時刻を制御したりできる、 KF_DEFINITION_FLAGS 列挙のその他の値の 1 つ。 必要ない場合は、0 に設定します。

ftidType

種類: FOLDERTYPEID

フォルダーの内容 (ドキュメント、音楽、写真など) に基づいて既知のフォルダーの種類を識別する FOLDERTYPEID 値の 1 つ。 この値は GUID です。

注釈

fidParentpszRelativePath の値は連動します。 たとえば、MyNewFolder という名前のフォルダーを定義し、そのフォルダーを ...< として作成するとします。Username>\AppData\Local\MyApp\MyNewFolder。 fidParent...< を表すFOLDERID_LocalAppDataを指定します。Username>\AppData\Local。 pszRelativePath に "\MyApp\MyNewFolder" を指定します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header shobjidl_core.h (Shobjidl.h を含む)

こちらもご覧ください

IKnownFolder::GetFolderDefinition

IKnownFolderManager::RegisterFolder

既知のフォルダーのサンプル