IContextMenu::GetCommandString メソッド (shobjidl_core.h)

ヘルプ文字列や、コマンドの言語に依存しない名前( 正規名)など、ショートカット メニュー コマンドに関する情報を取得します。

構文

HRESULT GetCommandString(
  UINT_PTR idCmd,
  UINT     uType,
  UINT     *pReserved,
  CHAR     *pszName,
  UINT     cchMax
);

パラメーター

idCmd

種類: UINT_PTR

メニュー コマンド識別子のオフセット。

uType

型: UINT

返す情報を指定するフラグ。 このパラメーターには、次のいずれかの値を指定できます。

GCS_HELPTEXTA

pszName を、コマンドのヘルプ テキストを含む ANSI 文字列に設定します。

GCS_HELPTEXTW

pszName を、コマンドのヘルプ テキストを含む Unicode 文字列に設定します。

GCS_VALIDATEA

メニュー項目が存在する場合はS_OKを返し、それ以外の場合はS_FALSE返します。

GCS_VALIDATEW

メニュー項目が存在する場合はS_OKを返し、それ以外の場合はS_FALSE返します。

GCS_VERBA

pszName を、メニュー項目の言語に依存しないコマンド名を含む ANSI 文字列に設定します。

GCS_VERBW

pszName を、メニュー項目の言語に依存しないコマンド名を含む Unicode 文字列に設定します。

pReserved

型: UINT*

予約済み。 アプリケーションは、このメソッドを呼び出すときに NULL を 指定する必要があり、ハンドラーは呼び出されたときにこのパラメーターを無視する必要があります。

pszName

種類: LPSTR

取得される null で終わる文字列を受け取るバッファーのアドレス。

cchMax

型: UINT

null で終わる文字列を受け取るバッファーのサイズ (文字数)。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

言語に依存しないコマンド名 ( 動詞) は、 IContextMenu::InvokeCommand メソッドに渡して、アプリケーションによってコマンドをアクティブ化できる名前です。 ヘルプ テキストは、Windows エクスプローラーがステータス バーに表示するコマンドの説明です。 適度に短い (40 文字以下) 必要があります。

いくつかの一般的な動詞は、正規名 (たとえば、 開く印刷削除名前変更) で識別できます。 クライアントは、pszName が指す文字列をこれらの正規名と比較して、ショートカット メニューに存在するチェックできます。

pszNameLPSTR として宣言されていますが、uFlagsGCS_HELPTEXTWまたは GCS_VERBW に設定されている場合は、それを UINT_PTR にキャストし、Unicode 文字列を返す必要があります。 GCS_UNICODE は、含まれているフラグの 'W' バージョンと 'A' バージョンの uFlags をテストするためのビットマスクとして使用できます。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)
[DLL] Shell32.dll (バージョン 4.0 以降)