Тема: Нерозумію багато чого у WINAPI
Доброго всім дня! Подивиться будь ласка.
#include<Windows.h>
//#include"Migrafik.h"
typedef unsigned char   uch;
LPITEMIDLIST CreatePIDL(DWORD dwType, LPCWSTR pwszDisplayName)
{
    LPMYPIDLDATA   pidlOut;
    USHORT         uSize;
    pidlOut = NULL;
    //Calculate the size of the MYPIDLDATA structure.
    uSize = sizeof(MYPIDLDATA);
    // Allocate enough memory for the PIDL to hold a MYPIDLDATA structure 
    // plus the terminator
    pidlOut = (LPMYPIDLDATA)m_pMalloc->Alloc(uSize + sizeof(USHORT));
    if(pidlOut)
    {
       //Assign values to the members of the MYPIDLDATA structure
       //that is the PIDL's first SHITEMID structure
       pidlOut->cb = uSize;
       pidlOut->dwType = dwType;
       hr = StringCbCopyW(pidlOut->wszDisplayName, 
                          sizeof(pidlOut->wszDisplayName), pwszDisplayName);
       
       // TODO: Add error handling here to verify the HRESULT returned 
       // by StringCbCopyW.
       //Advance the pointer to the start of the next SHITEMID structure.
       pidlOut = (LPMYPIDLDATA)((LPBYTE)pidlOut + pidlOut->cb);
       //Create the terminating null character by setting cb to 0.
       pidlOut->cb = 0;
    }
    return pidlOut;
    
}    
int WINAPI WinMain(HINSTANCE h
E:\Porivnjuvats\Po1.cpp|10|error: 'LPITEMIDLIST' does not name a type|
LPITEMIDLIST це єкземпляр структури ITEMIDLIST?  Я ж моду поплутатися що й до чого. 
Де вона існуэ, ця структура? У якихось DLL?  Де вона серед віндовсу? Не розумію, хіба недостатньо інклюду Windows.h? Щось не можу ні зрозуміти, ні дочітати.