OleUIInsertObjectW function (oledlg.h)
Invokes the standard Insert Object dialog box, which allows the user to select an object source and class name, as well as the option of displaying the object as itself or as an icon.
Syntax
UINT OleUIInsertObjectW(
[in] LPOLEUIINSERTOBJECTW unnamedParam1
);
Parameters
[in] unnamedParam1
Pointer to the in-out OLEUIINSERTOBJECT structure for this dialog box.
Return value
Standard Success/Error Definitions
Return code | Description |
---|---|
|
Unknown failure (unused). |
|
The user pressed the OK button. |
|
No error, same as OLEUI_OK. |
|
The user pressed the Cancel button. |
Standard Field Validation Errors
Return code | Description |
---|---|
|
Errors common to all dialog boxes lie in the range OLEUI_ERR_STANDARDMIN to OLEUI_ERR_STANDARDMAX. This value allows the application to test for standard messages in order to display error messages to the user. |
|
The pointer to an OLEUIXXX structure passed into the function was NULL. |
|
Insufficient permissions for read or write access to an OLEUIXXX structure. |
|
The cbstruct value is incorrect. |
|
The hWndOwner value is invalid. |
|
The lpszCaption value is invalid. |
|
The lpfnHook value is invalid. |
|
The hInstance value is invalid. |
|
The lpszTemplate value is invalid. |
|
The hResource value is invalid. |
Initialization Errors
Return code | Description |
---|---|
|
Unable to find the dialog box template. |
|
Unable to load the dialog box template. |
|
Dialog box initialization failed. |
|
A call to LocalAlloc or the standard IMalloc allocator failed. |
|
A call to GlobalAlloc or the standard IMalloc allocator failed. |
|
Unable to call LoadString for localized resources from the library. |
|
A call to the standard IMalloc allocator failed. |
Function Specific Errors
Return code | Description |
---|---|
|
Errors common to all dialog boxes lie in the range OLEUI_ERR_STANDARDMIN to OLEUI_ERR_STANDARDMAX. This value allows the application to test for standard messages in order to display error messages to the user. |
|
The lpszFile value is invalid or user has insufficient write access permissions.This lpszFile member points to the name of the file linked to or inserted. |
|
The ppvOjb value is invalid. This member points to the location where the pointer for the object is returned. |
|
The lpIOleClientSite value is invalid. This member points to the client site for the object. |
|
The lpIStorage value is invalid. This member points to the storage to be used for the object. |
|
The sc member of lpIO has additional error information. |
|
The lpClsidExclude value is invalid. This member contains the list of CLSIDs to exclude. |
|
The cchFile or lpszFile value is invalid. The cchFile member specifies the size of the lpszFile buffer. The lpszFile member points to the name of the file linked to or inserted. |
Remarks
OleUIInsertObject allows the user to select the type of object to be inserted from a list box containing the object applications registered on the user's system. To populate that list box, OleUIInsertObject traverses the registry, adding every object server it finds that meets the following criteria:
- The registry entry does not include the NotInsertable key.
- The registry entry includes an OLE 1.0 style Protocol\\StdFileEditing\\Server key.
- The registry entry includes the Insertable key.
- The object's CLSID is not included in the list of objects to exclude (the lpClsidExclude member of OLEUIINSERTOBJECT).
To free an HMETAFILEPICT returned from the Insert Object or Paste Special dialog box, delete the attached metafile on the handle, as follows:
void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
if (hmfp != NULL)
{
LPMETAFILEPICT pmfp = GlobalLock(hmfp);
DeleteMetaFile(pmfp->hMF);
GlobalUnlock(hmfp);
GlobalFree(hmfp);
}
else
{
// Handle null pointers here.
exit(0);
}
}
Note
The oledlg.h header defines OLEUIINSERTOBJECT as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | oledlg.h |
Library | OleDlg.lib |
DLL | OleDlg.dll |