2007年5月25日 星期五

Driver Activate and Deactivate note

Activate:
HANDLE hdl=ActivateDeviceEx(
ACVTIVE_REG,NULL, 0, NULL );
if(hdl==INVALID_HANDLE_VALUE)
{
DWORD m = GetLastError();
RETAILMSG(1, (TEXT("ActivateDevice fail ,ErrCode = %d")),m);
}

note1. do not need HKEY_LOCAL_MACHINE\
note2. could not load \builtin registry


Deactivate :
m_devpre=L"CSR1:";
HANDLE dev =
CreateFile( m_devpre, GENERIC_READ GENERIC_WRITE,
0, NULL,
OPEN_EXISTING, 0, 0);

DEVMGR_DEVICE_INFORMATION DeviceInfo =
{ sizeof(DEVMGR_DEVICE_INFORMATION) };
GetDeviceInformationByFileHandle( dev, &DeviceInfo );
// Be sure to close the file handle before we unload the driver!
CloseHandle( dev );
DeactivateDevice( DeviceInfo.hDevice );

沒有留言: