本文整理汇总了C++中DevicePtr::ClearHaltDevice方法的典型用法代码示例。如果您正苦于以下问题:C++ DevicePtr::ClearHaltDevice方法的具体用法?C++ DevicePtr::ClearHaltDevice怎么用?C++ DevicePtr::ClearHaltDevice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DevicePtr
的用法示例。
在下文中一共展示了DevicePtr::ClearHaltDevice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ClearHaltDevice
BOOL OpenContext::ClearHaltDevice(LPUKWD_ENDPOINT_INFO lpEndpointInfo)
{
MutexLocker lock(mMutex);
DevicePtr dev (mDevice->GetDeviceList(), lpEndpointInfo->lpDevice);
if (!Validate(dev)) {
SetLastError(ERROR_INVALID_HANDLE);
return FALSE;
}
// Find the interface for this device
DWORD dwInterface;
if (!dev->FindInterface(lpEndpointInfo->Endpoint, dwInterface)) {
ERROR_MSG((TEXT("USBKWrapperDrv!OpenContext::ClearHalt() - ")
TEXT("failed to find interface for endpoint %d on device 0x%08x\r\n"),
lpEndpointInfo->Endpoint, lpEndpointInfo->lpDevice));
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
// See if it's already been claimed
if (!dev->InterfaceClaimed(dwInterface, this)) {
WARN_MSG((TEXT("USBKWrapperDrv!OpenContext::ClearHalt() - ")
TEXT("using interface %d on device 0x%08x without claiming\r\n"),
dwInterface, lpEndpointInfo->lpDevice));
if (!dev->ClaimInterface(dwInterface, this)) {
return FALSE;
}
}
return dev->ClearHaltDevice(dwInterface, lpEndpointInfo->Endpoint);
}