DEFCONTEXTMENU-Struktur (shlobj_core.h)
Enthält Kontextmenüinformationen, die von SHCreateDefaultContextMenu verwendet werden.
Syntax
typedef struct {
HWND hwnd;
IContextMenuCB *pcmcb;
PCIDLIST_ABSOLUTE pidlFolder;
IShellFolder *psf;
UINT cidl;
PCUITEMID_CHILD_ARRAY apidl;
IUnknown *punkAssociationInfo;
UINT cKeys;
const HKEY *aKeys;
} DEFCONTEXTMENU;
Member
hwnd
Typ: HWND
Ein Handle für das Kontextmenü. Legen Sie dieses Element auf das von CreateMenu zurückgegebene Handle fest.
pcmcb
Typ: IContextMenuCB*
Ein Zeiger auf die IContextMenuCB-Schnittstelle , die vom Rückrufobjekt unterstützt wird. Dieser Wert ist optional und kann NULL sein.
pidlFolder
Typ: PCIDLIST_ABSOLUTE
Die PIDL des Ordners, der die ausgewählten Dateiobjekte enthält, oder des Ordners des Kontextmenüs, wenn keine Dateiobjekte ausgewählt sind. Dieser Wert ist optional und kann NULL sein. In diesem Fall wird die PIDL aus dem psf-Member berechnet.
psf
Typ: IShellFolder*
Ein Zeiger auf die IShellFolder-Schnittstelle des Ordnerobjekts, das die ausgewählten Dateiobjekte enthält, oder auf den Ordner, der das Kontextmenü enthält, wenn keine Dateiobjekte ausgewählt sind.
cidl
Typ: UINT
Die Anzahl der Elemente in der Member-APIDL.
apidl
Typ: PCUITEMID_CHILD_ARRAY
Ein Zeiger auf ein konstantes Array von ITEMIDLIST-Strukturen . Jeder Eintrag im Array beschreibt ein untergeordnetes Element, auf das das Kontextmenü angewendet wird, für instance eine ausgewählte Datei, die der Benutzer öffnen möchte.
punkAssociationInfo
Typ: IUnknown*
Ein Zeiger auf die IQueryAssociations-Schnittstelle für das Objekt, aus dem Erweiterungen geladen werden sollen. Dieser Parameter ist optional und kann daher NULL sein. Wenn dieser Wert NULL ist und die Member aKeys und cKeys ebenfalls NULL sind (siehe Hinweise), wird punkAssociationInfo aus dem apidl-Member und cidl über eine Anforderung für IQueryAssociations über IShellFolder::GetUIObjectOf berechnet.
Wenn IShellFolder::GetUIObjectOfE_NOTIMPL zurückgibt, wird eine Standardimplementierung basierend auf den SFGAO_FOLDER und SFGAO_FILESYSTEM Attributen bereitgestellt, die von IShellFolder::GetAttributesOf zurückgegeben werden.
cKeys
Typ: UINT
Die Anzahl der Elemente in Member aKeys. Dieser Wert kann auch 0 sein. Wenn der Wert 0 ist, werden die Erweiterungen basierend auf dem Objekt geladen, das die Schnittstelle IQueryAssociations unterstützt, wie vom Member punkAssociationInfo angegeben. Wenn der Wert ungleich NULL ist, werden die Erweiterungen nur basierend auf Member aKeys und nicht auf Member punkAssociationInfo geladen.
aKeys
Typ: const HKEY*
Ein Zeiger auf einen HKEY, der den Registrierungsschlüssel angibt, aus dem Erweiterungen geladen werden sollen. Dieser Parameter ist optional und kann NULL sein. Wenn der Wert NULL ist, werden die Erweiterungen basierend auf dem Objekt geladen, das die Schnittstelle IQueryAssociations unterstützt, wie in punkAssociationInfo angegeben.
Hinweise
Wenn die Member aKeys und cKeys gültig sind und das Element punkAssociationInfo ebenfalls gültig ist (nicht NULL), erstellt das System das Menü mit den Werten von aKeys und cKeys und ignoriert member punkAssociationInfo (IQueryAssociations).
Die Member apidl und cidl können als Parameter für die Methode IShellFolder::GetUIObjectOf verwendet werden, um IDataObject abzurufen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | shlobj_core.h (shlobj.h einschließen) |