//结构体本身到好转换,但对结构体成员的具体涵义及输入\输出不是很清楚,
typedef struct tagOLEUIINSERTOBJECTW
{
// These IN fields are standard across all OLEUI dialog functions.
DWORD cbStruct; // Structure Size
DWORD dwFlags; // IN-OUT: Flags
HWND hWndOwner; // Owning window
LPCWSTR lpszCaption; // Dialog caption bar contents
LPFNOLEUIHOOK lpfnHook; // Hook callback
LPARAM lCustData; // Custom data to pass to hook
HINSTANCE hInstance; // Instance for customized template name
LPCWSTR lpszTemplate; // Customized template name
HRSRC hResource; // Customized template handle
// Specifics for OLEUIINSERTOBJECT.
CLSID clsid; // OUT: Return space for class ID
LPWSTR lpszFile; // IN-OUT: Filename for inserts or links
UINT cchFile; // IN: Size of lpszFile buffer: MAX_PATH
UINT cClsidExclude; // IN: CLSIDs in lpClsidExclude
LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from listing.
// Specific to create objects if flags say so
IID iid; // IN: Requested interface on creation.
DWORD oleRender; // IN: Rendering option
LPFORMATETC lpFormatEtc; // IN: Desired format
LPOLECLIENTSITE lpIOleClientSite; // IN: Site to be use for the object.
LPSTORAGE lpIStorage; // IN: Storage used for the object
LPVOID *ppvObj; // OUT: Where the object is returned.
SCODE sc; // OUT: Result of creation calls.
HGLOBAL hMetaPict; // OUT: metafile aspect (METAFILEPICT)
typedef struct tagOLEUIINSERTOBJECTA
{
// These IN fields are standard across all OLEUI dialog functions.
DWORD cbStruct; // Structure Size
DWORD dwFlags; // IN-OUT: Flags
HWND hWndOwner; // Owning window
LPCSTR lpszCaption; // Dialog caption bar contents
LPFNOLEUIHOOK lpfnHook; // Hook callback
LPARAM lCustData; // Custom data to pass to hook
HINSTANCE hInstance; // Instance for customized template name
LPCSTR lpszTemplate; // Customized template name
HRSRC hResource; // Customized template handle
// Specifics for OLEUIINSERTOBJECT.
CLSID clsid; // OUT: Return space for class ID
LPSTR lpszFile; // IN-OUT: Filename for inserts or links
UINT cchFile; // IN: Size of lpszFile buffer: MAX_PATH
UINT cClsidExclude; // IN: CLSIDs in lpClsidExclude
LPCLSID lpClsidExclude; // IN: List of CLSIDs to exclude from listing.
// Specific to create objects if flags say so
IID iid; // IN: Requested interface on creation.
DWORD oleRender; // IN: Rendering option
LPFORMATETC lpFormatEtc; // IN: Desired format
LPOLECLIENTSITE lpIOleClientSite; // IN: Site to be use for the object.
LPSTORAGE lpIStorage; // IN: Storage used for the object
LPVOID *ppvObj; // OUT: Where the object is returned.
SCODE sc; // OUT: Result of creation calls.
HGLOBAL hMetaPict; // OUT: metafile aspect (METAFILEPICT)