Formáty schránky prostředí

Formáty schránky prostředí slouží k identifikaci typu přenášených dat prostředí přes schránku. Většina formátů schránky prostředí identifikuje typ dat, například seznam názvů souborů nebo ukazatele na seznamy identifikátorů položek (PIDLs). Některé formáty se ale používají ke komunikaci mezi zdrojem a cílem. Můžou urychlit proces přenosu dat tím, že podporují operace prostředí, jako je optimalizované přesunutí a delete_on_paste. Data prostředí jsou vždy obsažena v datovém objektu , který používá strukturu FORMATETC jako obecnější způsob, jak charakterizovat data. Člen cfFormat struktury je nastaven na formát schránky pro konkrétní položku dat. Ostatní členové poskytují další informace, jako je mechanismus přenosu dat. Data jsou obsažena v doprovodné struktuře STGMEDIUM .

Poznámka:

Standardní identifikátory formátu schránky mají formulář CF_XXX. Běžným příkladem je CF_TEXT, který se používá k přenosu textových dat ANSI. Tyto identifikátory mají předdefinované hodnoty a lze je použít přímo se strukturami FORMATETC . S výjimkou CF_HDROP nejsou identifikátory formátu prostředí předdefinované. S výjimkou DragWindow mají formulář CFSTR_XXX. Aby se tyto hodnoty odlišily od předdefinovaných formátů, často se označují jako jednoduché formáty. Na rozdíl od předdefinovaných formátů však musí být zaregistrované ve zdrojovém i cílovém prostředí, aby bylo možné je použít k přenosu dat. Chcete-li zaregistrovat formát prostředí, zahrňte soubor hlavičky Shlobj.h a předejte identifikátor formátu CFSTR_XXXregisterClipboardFormat. Tato funkce vrátí platnou hodnotu formátu schránky, kterou lze použít jako člen cfFormat struktury FORMATETC .

 

Formáty schránky prostředí jsou uspořádané do tří skupin podle toho, jak se používají.

Formáty pro přenos objektů systému souborů

Tyto formáty se používají k přenosu jednoho nebo více souborů nebo jiných objektů prostředí.

CF_HDROP

Tento formát schránky se používá při přenosu umístění skupiny existujících souborů. Na rozdíl od ostatních formátů prostředí je předdefinovaný, takže není nutné volat RegisterClipboardFormat. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na strukturu DROPFILES jako její hGlobal člen.

Člen pFiles struktury DROPFILES obsahuje posun na dvojitou znakovou matici ukončenou hodnotou null, která obsahuje názvy souborů. Pokud extrahujete formát CF_HDROP z datového objektu, můžete pomocí dragQueryFile extrahovat jednotlivé názvy souborů z objektu globální paměti. Pokud vytváříte formát CF_HDROP pro umístění do datového objektu, budete muset vytvořit pole názvů souborů.

Pole názvů souborů se skládá z řady řetězců, z nichž každý obsahuje plně kvalifikovanou cestu k souboru, včetně ukončujícího znaku NULL . K poslednímu řetězci je připojen další znak null , který ukončí pole. Pokud jsou například přenášeny soubory c:\temp1.txt a c:\temp2.txt, pole znaků vypadá takto:

c:\temp1.txt'\0'c:\temp2.txt'\0''\0'

Poznámka:

V tomto příkladu se k reprezentaci znaku null používá znak \0, nikoli literálové znaky, které by měly být zahrnuty.

Pokud byl objekt zkopírován do schránky jako součást operace přetažení, člen pt struktury DROPFILES obsahuje souřadnice bodu, kde byl objekt vyřazen. Pomocí funkce DragQueryPoint můžete extrahovat souřadnice kurzoru.

Pokud se tento formát nachází v datovém objektu, přetáhněte ole smyčku simuluje WM_DROPFILES funkce s cíli přetažení mimo OLE. To je důležité, pokud je vaše aplikace zdrojem operace přetažení v systému Windows 3.1.

CFSTR_FILECONTENTS

Tento identifikátor formátu se používá s formátem CFSTR_FILEDESCRIPTOR k přenosu dat, jako by se jednalo o soubor bez ohledu na to, jak se skutečně ukládají. Data se skládají ze struktury STGMEDIUM , která představuje obsah jednoho souboru. Soubor je obvykle reprezentován jako objekt streamu, který zabraňuje umístění obsahu souboru do paměti. V takovém případě je tymed člen STGMEDIUM struktury nastaven na TYMED_ISTREAM a soubor je reprezentován IStream rozhraní. Soubor může být také objektem úložiště nebo globální paměti (TYMED_ISTORAGE nebo TYMED_HGLOBAL). Přidružený formát CFSTR_FILEDESCRIPTOR obsahuje strukturu FILEDESCRIPTOR pro každý soubor, který určuje název a atributy souboru.

Cíl považuje data přidružená k CFSTR_FILECONTENTS formátu, jako by se jednalo o soubor. Když cíl volá IDataObject::GetData k extrahování dat, určuje konkrétní soubor nastavením lindexčlenu FORMATETC struktury na nulový index struktury FILEDESCRIPTOR souboru v doprovodném CFSTR_FILEDESCRIPTOR formátu. Cíl pak použije vrácený ukazatel rozhraní nebo globální popisovač paměti k extrahování dat.

CFSTR_FILEDESCRIPTOR

Tento identifikátor formátu se používá s formátem CFSTR_FILECONTENTS k přenosu dat jako skupiny souborů. Tyto dva formáty jsou upřednostňovaným způsobem přenosu objektů prostředí, které nejsou uloženy jako soubory systému souborů. Tyto formáty lze například použít k přenosu skupiny e-mailových zpráv jako jednotlivých souborů, i když je každý e-mail skutečně uložen jako blok dat v databázi. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na strukturu FILEGROUPDESCRIPTOR , za kterou následuje pole obsahující jednu strukturu FILEDESCRIPTOR pro každý soubor ve skupině. Pro každou strukturu FILEDESCRIPTOR existuje samostatný formát CFSTR_FILECONTENTS, který obsahuje obsah souboru. Chcete-li identifikovat CFSTR_FILECONTENTS formátu konkrétního souboru, nastavte hodnotu lIndex struktury FORMATETC na nulový index struktury FILEDESCRIPTOR souboru.

Formát CFSTR_FILEDESCRIPTOR se běžně používá k přenosu dat, jako by šlo o skupinu souborů bez ohledu na to, jak se skutečně ukládají. Z pohledu cíle každý formát CFSTR_FILECONTENTS představuje jeden soubor a je odpovídajícím způsobem zpracován. Zdroj ale může data ukládat libovolným způsobem. Formát CSFTR_FILECONTENTS sice může odpovídat jednomu souboru, ale může představovat například data extrahovaná zdrojem z databáze nebo textového dokumentu.

CFSTR_FILENAME

Tento identifikátor formátu slouží k přenosu jednoho souboru. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na jeden řetězec ukončený hodnotou null obsahující plně kvalifikovanou cestu k souboru. Tento formát byl nahrazen CF_HDROP, ale podporuje se zpětná kompatibilita s aplikacemi Windows 3.1.

CFSTR_FILENAMEMAP

Tento identifikátor formátu se používá, když se přejmenovává skupina souborů ve formátu CF_HDROP a přenáší se. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na dvojitou znakovou matici ukončenou hodnotou null. Toto pole obsahuje nový název pro každý soubor ve stejném pořadí, v jakém jsou soubory uvedeny v doprovodném CF_HDROP formátu. Formát pole znaků je stejný jako formát, který používá CF_HDROP k výpisu přenesených souborů.

CFSTR_MOUNTEDVOLUME

Tento identifikátor formátu slouží k přenosu cesty na připojeném svazku. Podobá se CF_HDROP, ale obsahuje pouze jednu cestu a dokáže zpracovat delší řetězce cest, které mohou být potřeba k reprezentaci cesty při připojení svazku ke složce. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na jeden řetězec ukončený hodnotou null obsahující plně kvalifikovanou cestu k souboru. Řetězec cesty musí končit znakem \, za kterým následuje ukončující hodnota NULL.

Před Windows 2000 bylo možné svazky připojit pouze na písmena jednotky. V případě Windows 2000 a novějších systémů s jednotkou formátovanou systémem NTFS můžete svazky připojit také k prázdným složkám. Tato funkce umožňuje připojení svazku bez nutnosti zabíjet písmeno jednotky. Připojený svazek může používat libovolný aktuálně podporovaný formát, včetně FAT, FAT32, NTFS a CDFS.

Stránky můžete přidat do seznamu vlastností vlastnosti jednotky implementací obslužné rutiny seznamu vlastností. Pokud je svazek připojený k písmenu jednotky, prostředí předá obslužné rutině informace o cestě s formátem CF_HDROP . S Windows 2000 a novějšími systémy se formát CF_HDROP používá, když je svazek připojený k písmenu jednotky, stejně jako u předchozích systémů. Pokud je ale svazek připojený ke složce, použije se místo CF_HDROP identifikátor formátu CFSTR_MOUNTEDVOLUME .

Pokud se ke svazkům budou používat jenom písmena jednotek, použijí se pouze CF_HDROP a stávající obslužné rutiny seznamu vlastností budou fungovat stejně jako u dřívějších systémů. Pokud ale chcete, aby obslužná rutina zobrazovala stránku pro svazky připojené ke složkám i písmenům jednotek, musí být obslužná rutina schopná pochopit formáty CSFTR_MOUNTEDVOLUME i CF_HDROP.

CFSTR_SHELLIDLIST

Tento identifikátor formátu se používá při přenosu umístění jednoho nebo více existujících objektů oboru názvů. Používá se podobně jako CF_HDROP, ale místo cest k systému souborů obsahuje piDly. Použití kódů PIDLs umožňuje CFSTR_SHELLIDLIST formátu zpracovávat virtuální objekty i objekty systému souborů. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na strukturu CIDA .

Člen aoffset struktury CIDA je pole obsahující posuny na začátek struktury ITEMIDLIST pro každý PIDL, který se přenáší. Pokud chcete extrahovat konkrétní PIDL, nejprve určete jeho index. Pak přidejte hodnotu aoffset , která odpovídá danému indexu na adresu struktury CIDA .

První prvek aoffset obsahuje posun na plně kvalifikovaný PIDL nadřazené složky. Pokud je tento PIDL prázdný, nadřazená složka je plocha. Každý z zbývajících prvků pole obsahuje posun na jeden z kódů PID, které se mají přenést. Všechny tyto pidly jsou relativní vzhledem k PIDL nadřazené složky.

Následující dvě makra lze použít k načtení kódů PID ze struktury CIDA . První vezme ukazatel na strukturu a načte PIDL nadřazené složky. Druhý přebírá ukazatel na strukturu a načte jeden z ostatních kódů PID, který je identifikován indexem založeným na nule.

#define GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])

#define GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])

Poznámka:

Hodnota vrácená těmito makry je ukazatel na strukturu ITEMIDLIST PIDL. Vzhledem k tomu, že se tyto struktury liší délkou, je nutné určit konec struktury procházením každé struktury ITEMIDLISTSHITEMID struktury, dokud nedosáhnete hodnoty NULL se dvěma bajty, která označuje konec.

CFSTR_SHELLIDLISTOFFSET

Tento identifikátor formátu se používá s formáty, jako jsou CF_HDROP, CFSTR_SHELLIDLIST a CFSTR_FILECONTENTS k určení pozice skupiny objektů po přenosu. Data se skládají ze struktury STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na pole struktur POINT . První struktura určuje souřadnice obrazovky v pixelech levého horního rohu obdélníku, který skupinu uzavře. Zbývající části struktur určují umístění jednotlivých objektů vzhledem k pozici skupiny. Musí být ve stejném pořadí jako při výpisu objektů v přidruženém formátu.

Formáty pro přenos virtuálních objektů

Formát CFSTR_SHELLIDLIST lze použít k přenosu souborů systému souborů i virtuálních objektů. Existuje však také několik specializovaných formátů pro přenos konkrétních typů virtuálních objektů.

CFSTR_NETRESOURCES

Tento identifikátor formátu se používá při přenosu síťových prostředků, jako je doména nebo server. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na strukturu NRESARRAY . Člen nr této struktury označuje netRESOURCE strukturu, jejíž člen lpRemoteName obsahuje řetězec s ukončenou hodnotou null identifikující síťový prostředek. Cíl přetažení pak může použít data s libovolnou funkcí rozhraní API Windows sítě (WNet) API, jako jsou WNetAddConnection, k provádění síťových operací s objektem.

CFSTR_PRINTERGROUP

Tento identifikátor formátu se používá při přenosu popisných názvů tiskáren. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na řetězec ve stejném formátu jako u CF_HDROP. Člen pFiles struktury DROPFILES však obsahuje jeden nebo více popisných názvů tiskáren místo cest k souborům.

CFSTR_INETURL

Tento identifikátor formátu nahrazuje CFSTR_SHELLURL (zastaralé). Pokud chcete, aby aplikace manipulovala s adresami URL schránky, použijte místo CFSTR_SHELLURL CFSTR_INETURL (zastaralé). Tento formát poskytuje nejlepší reprezentaci schránky jedné adresy URL. Pokud kód UNICODE není definovaný, aplikace načte CF_TEXT/CFSTR_SHELLURL verzi adresy URL. Pokud je definován kód UNICODE, aplikace načte CF_UNICODE verzi adresy URL.

CFSTR_SHELLURL (zastaralé)

Poznámka:

Tento identifikátor formátu je zastaralý; místo toho použijte CFSTR_INETURL.

 

Formáty pro komunikaci mezi zdrojem a cílem

Tyto identifikátory formátu umožňují komunikaci mezi zdrojem a cílem. Formáty doprovázejí data a poskytují aplikacím větší kontrolu nad operacemi přesunutí a kopírování a vkládání nebo přetažením, které zahrnují objekty Prostředí.

CFSTR_INDRAGLOOP

Tento identifikátor formátu je používán datovým objektem k označení, zda je ve smyčce přetažení. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na hodnotu DWORD . Pokud je hodnota DWORD nenulová, datový objekt je ve smyčce přetažení. Pokud je hodnota nastavena na nulu, datový objekt není ve smyčce přetažení.

Některé cíle přetažení můžou volat IDataObject::GetData a pokusit se extrahovat data, zatímco objekt je stále ve smyčce přetažení. Úplné vykreslení objektu pro každý takový výskyt může způsobit zastavení kurzoru přetažením. Pokud datový objekt podporuje CFSTR_INDRAGLOOP, cíl místo toho může tento formát použít ke kontrole stavu smyčky přetažení a vyhnout se vykreslování objektu náročnému na paměť, dokud se skutečně nezahodí. Formáty, které jsou náročné na vykreslení paměti, by měly být stále zahrnuty do enumerátoru FORMATETC a ve volání IDataObject::QueryGetData. Pokud datový objekt nenastaví CFSTR_INDRAGLOOP, měl by fungovat, jako by hodnota byla nastavena na nulu.

CFSTR_LOGICALPERFORMEDDROPEFFECT

Verze 5.0.Tento identifikátor formátu umožňuje zdroji přetažení volat objekt dat IDataObject::GetData metoda k určení výsledku přenosu dat Prostředí. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na DWORD obsahující hodnotu DROPEFFECT .

Identifikátor formátu CFSTR_PERFORMEDDROPEFFECT byl určen k tomu, aby cíl mohl indikovat datovému objektu, jaká operace skutečně proběhla. Prostředí však používá optimalizované přesuny pro objekty systému souborů, kdykoli je to možné. V takovém případě shell obvykle nastaví CFSTR_PERFORMEDDROPEFFECT hodnotu na DROPEFFECT_NONE, aby indikoval datovému objektu, že původní data byla odstraněna. Zdroj tedy nemůže použít hodnotu CFSTR_PERFORMEDDROPEFFECT k určení, která operace proběhla. I když většina zdrojů tyto informace nepotřebuje, existují některé výjimky. I když například optimalizované přesuny eliminují potřebu zdroje odstranit všechna data, zdroj může stále muset aktualizovat související databázi, aby bylo možné indikovat, že se soubory přesunuly nebo zkopírovaly.

Pokud zdroj potřebuje vědět, která operace proběhla, může volat objekt IDataObject::GetData metoda a požádat CFSTR_LOGICALPERFORMEDDROPEFFECT formát. Tento formát v podstatě odráží, co se stane z pohledu uživatele po dokončení operace. Pokud se vytvoří nový soubor a původní soubor se odstraní, uživatel uvidí operaci přesunutí a datová hodnota formátu se nastaví na DROPEFFECT_MOVE. Pokud je původní soubor stále tam, uživatel uvidí operaci kopírování a datová hodnota formátu je nastavená na DROPEFFECT_COPY. Pokud byl odkaz vytvořen, bude datová hodnota formátu DROPEFFECT_LINK.

CFSTR_PASTESUCCEEDED

Tento identifikátor formátu používá cíl k informování datového objektu prostřednictvím jeho IDataObject::SetData metoda, že operace delete-on-paste byla úspěšná. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na DWORD obsahující hodnotu DROPEFFECT . Tento formát slouží k upozornění datového objektu, že by měl dokončit operaci vyjmutí a v případě potřeby odstranit původní data. Další informace naleznete v tématu Operace odstranění při vložení.

CFSTR_PERFORMEDDROPEFFECT

Tento identifikátor formátu používá cíl k informování datového objektu prostřednictvím jeho IDataObject::SetData metoda výsledku přenosu dat. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na hodnotu DWORD nastavenou na odpovídající hodnotu DROPEFFECT , obvykle DROPEFFECT_MOVE nebo DROPEFFECT_COPY.

Tento formát se obvykle používá, když může být výsledek operace přesunutí nebo kopírování, například v optimalizované operaci přesunutí nebo odstranění při vložení. Poskytuje spolehlivý způsob, jak cíli sdělit datovému objektu, co se skutečně stalo. Byla zavedena, protože hodnota pdwEffect vrácená doDragDrop nespolehlivě indikovala, která operace proběhla. Formát CFSTR_PERFORMEDDROPEFFECT je spolehlivý způsob, jak označit, že došlo k neoptimalizovanému přesunu.

CFSTR_PREFERREDDROPEFFECT

Tento identifikátor formátu používá zdroj k určení, zda je jeho upřednostňovanou metodou přenosu dat přesunutí, kopírování nebo propojení. Cíl zahodí tento formát voláním IDataObject::GetData Method datového objektu. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na hodnotu DWORD . Tato hodnota je nastavená na DROPEFFECT_MOVE, pokud je upřednostňovaná operace přesunutí, DROPEFFECT_COPY pokud je upřednostňovaná operace kopírování, nebo DROPEFFECT_LINK, pokud je upřednostňovaná operace propojení.

Tato funkce se používá, když zdroj podporuje operaci přesunutí nebo kopírování. Používá CFSTR_PREFERREDDROPEFFECT formát ke sdělení své preference cíli. Vzhledem k tomu, že cíl není povinen respektovat požadavek, cíl musí volat metodu IDataObject::SetData zdroje s formátem CFSTR_PERFORMEDDROPEFFECT , aby bylo datovému objektu, který byla skutečně provedena operace.

Při operaci odstranění při vložení se CFSTR_PREFERREDDROPEFFECT formát používá k určení cíle, jestli zdroj provedl vyjmutí nebo zkopírování. Pomocí operace přetažení můžete pomocí formátu CFSTR_PREFERREDDROPEFFECT určit akci prostředí. Pokud tento formát není k dispozici, shell provede výchozí akci na základě kontextu. Pokud například uživatel přetáhne soubor z jednoho svazku a zahodí ho na jiný svazek, výchozí akcí prostředí je zkopírování souboru. Zahrnutím formátu CFSTR_PREFERREDDROPEFFECT do datového objektu můžete přepsat výchozí akci a explicitně sdělit prostředí, aby soubor zkopíroval, přesunul nebo propojil. Pokud se uživatel rozhodne přetáhnout pravým tlačítkem, CFSTR_PREFERREDDROPEFFECT formát určuje výchozí příkaz v místní nabídce pro přetažení . Uživatel si stále může vybrat další příkazy v nabídce.

Před Microsoft Internet Explorer 4.0 aplikace ukázala, že přenesla typy souborů zástupce nastavením FD_LINKUI v dwFlags člen FILEDESCRIPTOR. Cíle pak musely použít potenciálně časově náročné volání IDataObject::GetData , abyste zjistili, jestli byl nastaven příznak FD_LINKUI. Upřednostňovaným způsobem, jak označit, že se přenesou zástupci, je použít formát CFSTR_PREFERREDDROPEFFECT nastavený na DROPEFFECT_LINK. Kvůli zpětné kompatibilitě se staršími systémy by ale zdroje měly stále nastavit příznak FD_LINKUI.

CFSTR_TARGETCLSID

Tento identifikátor formátu používá cíl k poskytnutí jeho CLSID zdroji. Data jsou struktura STGMEDIUM , která obsahuje objekt globální paměti. Člen hGlobal struktury odkazuje na identifikátor GUID CLSID cíle.

Tento formát se používá především k povolení odstranění objektů přetažením do koše. Když objekt v koši vynecháte, volá se metoda IDataObject::SetData zdrojového objektu s formátem CFSTR_TARGETCLSID nastaveným na CLSID koše (CLSID_RecycleBin). Zdroj pak může původní objekt odstranit.

CFSTR_UNTRUSTEDDRAGDROP

Tento identifikátor formátu používá Windows Internet Explorer a prostředí Windows k zajištění mechanismu blokování nebo zobrazení výzvy k operacím přetažení pocházejícím z Internet Explorer ve spojení s příznakem URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY.

CFSTR_UNTRUSTEDDRAGDROP přidá zdroj operace přetažení, aby bylo možné určit, že datový objekt může obsahovat nedůvěryhodná data. Data jsou reprezentována strukturou STGMEDIUM , která obsahuje globální objekt paměti. Člen hGlobal struktury odkazuje na DWORD nastavený na odpovídající příznak akce adresy URL , který způsobí kontrolu zásad prostřednictvím metody IInternetSecurityManager::P rocesSUrlAction pomocí příznaku PUAF_ENFORCERESTRICTED .

DragWindow

Tento formát se používá v operaci přetažení k identifikaci obrázku přetahování objektu (okna), aby se informace o vizuálu mohly dynamicky aktualizovat. Když je objekt přetažen přes cíl přetažení, aplikace aktualizuje svou DROPDESCRIPTION strukturu v reakci na IDropTarget::D ragOver nebo IDropSource::GiveFeedback metoda. DROPDESCRIPTION se aktualizuje o novou hodnotu DROPIMAGETYPE, která označuje dekoraci, která se má použít u vizuálu okna přetažení; Například označení, že se soubor kopíruje místo přesunutí nebo že objekt nelze přesunout do daného umístění. Dokud však objekt neobdrží DDWM_UPDATEWINDOW zprávu, vizuály se neaktualizují. Tento formát poskytuje HWND příjemce přetažení okna odesílateli DDWM_UPDATEWINDOW zprávy.

Data schránky jsou typu TYMED_HGLOBAL. Jedná se o reprezentaci DWORDHWND. Data je možné předat funkci ULongToHandle definovanou v Basetsd.h a poskytnout 64bitovou HWND pro použití na 64bitovém Windows.

Tento formát nevyžaduje zahrnutí shlobj.h.