?? serialutils.cpp
字號:
// Copyright (c) 2004 - 2007, Symbian Software Ltd. All rights reserved.
#include "serialutils.h"
/** Name of serial logical device driver on both hardware and emulator. */
_LIT(KLddName, "ECOMM");
/** Installed name of logical device driver on emulator. */
_LIT(KLddInstallName, "Comm");
#if defined(__WINS__)
/** Name of physical device driver on emulator. */
_LIT(KPddName, "ECDRV");
#elif defined(__EPOC32__)
/** Name of physical device driver on hardware. */
_LIT(KPddName, "EUART");
#endif
EXPORT_C void SerialUtils::LoadDeviceDriversL(TBool& aLoadedLdd, TBool& aLoadedPdd)
/**
Open the serial LDD and PDD. This function takes references to two booleans
to simplify freeing resources when FreeDeviceDrivers is closed.
@param aLoadedLdd Whether the logical device driver was loaded. This
value is valid even if this function leaves.
@param aLoadedPdd Whether the physical device driver was loaded. This
value is valid even if this function leaves.
@see FreeDeviceDrivers
*/
{
aLoadedLdd = aLoadedPdd = EFalse;
TInt r;
r = User::LoadLogicalDevice(KLddName);
TRAN_LOG1("-SerialUtils::LoadDeviceDriversL,ldd=%d", r);
if (r == KErrAlreadyExists)
r = KErrNone;
User::LeaveIfError(r);
aLoadedLdd = ETrue;
r = User::LoadPhysicalDevice(KPddName);
TRAN_LOG1("-SerialUtils::LoadDeviceDriversL,pdd=%d", r);
if (r == KErrAlreadyExists)
r = KErrNone;
User::LeaveIfError(r);
aLoadedPdd = ETrue;
}
EXPORT_C void SerialUtils::FreeDeviceDrivers(TBool aLoadedLdd, TBool aLoadedPdd)
/**
Free the serial LDD and PDD if required.
@param aLoadedLdd Whether the LDD was loaded. This value should
have been set by LoadDeviceDriversL.
@param aLoadedPdd Whether the PDD was loaded. This value should
have been set by LoadDeviceDriversL.
*/
{
TRAN_LOG2(">SerialUtils::FreeDeviceDrivers,lldd=%d,lpdd=%d", aLoadedLdd, aLoadedPdd);
TInt r;
if (aLoadedLdd)
{
r = User::FreeLogicalDevice(KLddInstallName);
TRAN_LOG1("-SerialUtils::FreeDeviceDrivers,lldd=%d", r);
}
if (aLoadedPdd)
{
TFindPhysicalDevice fpd;
TFullName installedName;
_LIT(KPddInstallNamePattern, "Comm.*");
fpd.Find(KPddInstallNamePattern);
r = fpd.Next(installedName);
TRAN_LOG2("-SerialUtils::FreeDeviceDrivers,pnext=%d,insnm=\"%S\"", r, &installedName);
if (r == KErrNone)
r = User::FreePhysicalDevice(installedName);
TRAN_LOG1("-SerialUtils::FreeDeviceDrivers,pfree=%d", r);
}
(void) r;
TRAN_LOG0("<SerialUtils::FreeDeviceDrivers");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -