virtual L_INT LAnnEncrypt::GetSecondaryMetafile(phMetafile)
Retrieves the metafile handle associated with an encryptor object when it is in the decryptor state.
Pointer to a variable to be updated with the handle to a metafile.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
The encrypt object has two states:
Encryptor
Decryptor
Each state is displayed with its own metafile.
Use this function to retrieve the current metafile for an encrypt object in a decryptor state. The default image is shown in the figure below:
If this function is successful, the address pointed to by phMetafile will be updated with the metafile handle.
Use the LAnnEncrypt::GetMetafile function to retrieve the current metafile for an encrypt object in an encryptor state.
Win32, x64.
// This example swaps the metafiles for the 'encrypt' and 'decrypt' state of an encryptor
L_INT LAnnEncrypt_GetSecondaryMetafileExample(LAnnEncrypt *pLEncrypt)
{
L_INT nRet;
HMETAFILE hMetafile1=0;
HMETAFILE hMetafile2=0;
L_BOOL bEncryptorOriginal;
ANNENCRYPTOPTIONS EncryptOptions;
L_UINT uObjectType;
uObjectType = pLEncrypt->GetType();
if (uObjectType != ANNOBJECT_ENCRYPT)
{
MessageBox(NULL, TEXT("This object is not an encryptor."), TEXT("Error"), MB_OK);
return FAILURE;
}
nRet = pLEncrypt->GetMetafile(&hMetafile1);
if(nRet != SUCCESS)
return nRet;
nRet = pLEncrypt->GetSecondaryMetafile(&hMetafile2);
if(nRet != SUCCESS)
return nRet;
memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS));
EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS);
EncryptOptions.uFlags = ANNENCRYPT_ALL;
nRet = pLEncrypt->GetEncryptOptions(&EncryptOptions);
if(nRet != SUCCESS)
return nRet;
bEncryptorOriginal = EncryptOptions.bEncryptor;
// Set state to encryptor, and set encryptor metafile
EncryptOptions.uFlags = ANNENCRYPT_TYPE;
EncryptOptions.bEncryptor = TRUE;
nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0);
if(nRet != SUCCESS)
return nRet;
nRet = pLEncrypt->SetMetafile(hMetafile2, ANNMETAFILE_USER, 0);
if(nRet != SUCCESS)
return nRet;
// Set state to decryptor, and set decryptor metafile
EncryptOptions.bEncryptor = FALSE;
nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0);
if(nRet != SUCCESS)
return nRet;
nRet = pLEncrypt->SetMetafile(hMetafile1, ANNMETAFILE_USER, 0);
if(nRet != SUCCESS)
return nRet;
// Set encryptor to original state
EncryptOptions.bEncryptor = bEncryptorOriginal;
nRet = pLEncrypt->SetEncryptOptions(&EncryptOptions, 0);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document