LAnnEncrypt::GetSecondaryMetafile

#include "ltwrappr.h"

virtual L_INT LAnnEncrypt::GetSecondaryMetafile(phMetafile)

Retrieves the metafile handle associated with an encryptor object when it is in the decryptor state.

Parameters

HMETAFILE * phMetafile

Pointer to a variable to be updated with the handle to a metafile.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

The encrypt object has two states:

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:

image\decryptresized20.gif

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.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

// 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 Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.