MigrateUserNT

[This is preliminary documentation and subject to change.]

Migrate the user accounts that port from Windows 95 or Windows 98 to Windows NT.

LONG
CALLBACK 
MigrateUserNT( 
    IN HINF AnswerFileHandle,
    IN HKEY UserRegKey,
    IN LPCWSTR UserName, 
    LPVOID Reserved
    );

Parameters

AnswerFileHandle
INF handle to the answer file being used for the upgrade process. This file contains settings generated by Setup, the attending user, and all migration DLLs. You can access the file referenced by this handle using the Setup functions. Do not close this handle at any time.
UserRegKey
A registry handle to the private registry settings of the Windows 95 or Windows 98 user specified in UserName. This handle is equivalent to HKEY_CURRENT_USER (HKCU) when that user is logged on. The handle is only valid within the scope of MigrateUserNT. Do not close this handle at any time.
UserName
The user name for the user whose registry information is supplied through the UserRegKey parameter. If this value is NULL, Setup is referring to the Windows NT logon account. The Windows NT logon account is used for creating the desktop settings for the Windows NT logon prompt and as a template for creating new Windows NT users.
Reserved
Reserved for future use.

Return Value

ERROR_SUCCESS if the migration of user-specific settings is successful.

Other error codes will terminate the processing of your migration DLL. However, Windows NT Setup will proceed. Ideally, only critical problems (such as a hardware failure) should generate terminating error codes.

Exceptions generated by your migration DLL cause Setup to report RPC error messages. Setup provides more information in SETUPERR.LOG.

Remarks

The order in which user names are passed to your migration DLL during the call to MigrateUserNT may be different than the order in which they were passed during the call to MigrateUser9x.

Setup may disable migration of one or more user accounts if errors occur. For this reason, the number of user names passed to MigrateUserNT may be less than the number passed to MigrateUser9x.

Your migration DLL is responsible for managing its private data created and stored during MigrateUser9x and processed during MigrateUserNT.

Your migration DLL must not display user messages within its MigrateUserNT function.