Professional Edition Only

Custom Password Provider

A custom password provider is a special DLL file created by you to field requests from SafeHouse for volume passwords. This feature is intended to support complex corporate deployment scenarios where IT managers maintain tight control over passwords used throughout their organizations.

NOTE:  This is an extremely-advanced feature which requires custom C++ programming and knowledge of Windows programming.  Please understand that we cannot help you with programming questions.


A SafeHouse-compatible custom password provider must be named SAFPWD32.DLL and it must be located in your SafeHouse program files directory.

SafeHouse will only reference this DLL when you include the /USEPASSWORDDLL option on the command line or shortcut for one of the utilities which supports this feature. If this is something you plan on using often, you might consider placing this command option into a CONFIG.INI  custom configuration file.

Utilities Supporting this option:

Required Entry Points

The password provider DLL is required to support two entry points which are called from SafeHouse.

The first entry point is called when creating a new volume. The second one is called when SafeHouse is looking for the password to an existing volume; in which case, it sends the provider some details about the volume it is attempting to open such as volume filename, serial number and description.

Both functions should return either the number of characters placed into the password buffer, 0 for none and that SafeHouse should follow its usual course of action for getting the password, or -1 to indicate that  the user wishes to cancel, thereby terminating the calling application.

Please see the sample project for specific programming requirements and Windows calling conventions.


int GetNewVolumePassword(LPSTR lpszPassword, int nSize)

int GetVolumePassword(LPCSTR lpszFilepath, LPCSTR lpszSerialNumber, LPCSTR lpszDescription, LPSTR lpszPassword, int nSize)

Sample C++ Project

To help you get started building a custom password provider, we have included a working model developed using C++ and Microsoft Visual Studio 6. You'll find the complete set of project files contained in the file named, which is located in your SafeHouse program files directory.

Microsoft Visual Studio VS6, VS2003 or VS2005 is required to compile this project.

A pre-compiled version of the output DLL from this sample project is included within the ZIP file release directory. You can experiment with this file without needing any programming tools by copying it into your SafeHouse program files folder.

Compare to BitLocker  USB Software  data encryption software  password protect