我在WDK中使用KbFilter示例,尝试在由KbFilter_ServiceCallback调用的函数中发送IOCTL,因此在DISPATCH_LEVEL处执行.该函数只需发送一个IOCTL并返回,不等待输出缓冲区被填充,因此它可以是异步,触发和忘记.
我目前正在使用WDF函数WdfIoTargetFormatRequestForIoctl和WdfRequestSend尝试在DISPATCH_LEVEL发送并且什么都没得到.对WdfRequestSend的调用是成功的,但似乎没有收到IOCTL.
使用WdfIoTargetSendIoctlSynchronously或WDM模式IoBuildDeviceIoControlRequest()和IoCallDriver()需要PASSIVE_LEVEL,我知道在PASSIVE_LEVEL调用它们的唯一方法是创建一个在PASSIVE_LEVEL上运行的单独线程,并通过缓冲区或队列传递指令,同步用螺旋锁和信号量.
有人能告诉我是否有更简单的方法将IOCTL传递给我的过滤器下面的驱动程序,或者当你需要在更高的IRQL上做事时,线程/队列是否接近正常模式?在什么情况下我可以使用KeRaiseIrql,这是我应该使用的吗?谢谢.
我试图实现重叠主窗口边界与控件的效果.很难用文字解释这一点,这也可能是为什么我很难找到有关如何做到这一点的信息,或者甚至是否可能.
下面是我试图获得的效果的一个示例(来自设计者),其中"note"对象浮动在主窗口的边界之外.
然而,我在运行时获得的效果是这个(下面),内部控件被主窗口的边界剪切.
有人可以告诉我这是否可能(如果可能),如果可能是一些关于我如何能够获得这种效果的建议.
有谁知道这个错误意味着什么或如何解决它?我正在使用Access 2003和SQL2005.尝试在特定子表单上添加记录时出现.
[Microsoft] [SQL Native Client]强制转换规范的字符值无效(#0)
此MS错误报告描述了相同的消息,但它是SQL Server 6.5中已经解决的错误.
解决:显然目标表上没有PK导致这种情况,它与子表单或来自Access的查询没有任何关系.我甚至不知道没有PK的数据库中有表.将PK添加到目标表解决了它.奇怪的是,通过SQL本机客户端执行时出错的查询字符串相同,通过SSMS执行且没有错误.希望这可以帮助其他遇到过这个奇怪信息的人.
问题
尝试从TFS CI发布到Azure Web App时出现部署错误.文件被锁定,这会阻止构建更新.
症状
错误
Web部署任务失败.(Web部署无法修改目标上的文件'msvcr100.dll',因为它被外部进程锁定.为了允许发布操作成功,您可能需要重新启动应用程序以释放锁定,或者使用适用于下次发布尝试的.Net应用程序的AppOffline规则处理程序.有关详细信息,请访问:http://go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_FILE_IN_USE .)
链接中的信息不是很有帮助.
ERROR_FILE_IN_USE诊断 - 无法覆盖或删除目标文件,因为它当前正在使用中.解决方案 - 确保在执行同步之前未使用目标文件.如果要将内容同步到IIS 7或更高版本上托管的网站(使用appHostConfig,iisApp或contentPath提供程序),请考虑通过启用appOffline规则在同步期间使应用程序脱机.
尝试过的决议
编辑
如何在发布时使Web应用程序脱机?处理使用EnableMSDeployAppOffline配置使应用程序脱机 - 遗憾的是,在通过Visual Studio(而不是CI)执行WebDeploy时,似乎只支持此配置.
必须有一种简单的(r)方法来做到这一点.
我有一种情况,我使用连续表格列出零件.零件清单包括零件类型,制造商,零件编号和数量.列表是零件实例和数量.我可以从部件的实例中查看其他内容,因此显示现有部件没有问题,只需使用连接查询来检索相关记录或使用DLookup单独提取字段.
Type Manufacturer Number Qty
-------------------------------------
Widget Acme 123ab 1
Widget Acme 456 1
Anvil Xyz 12345 2
Llama Northwind 322-12A 1
...
Run Code Online (Sandbox Code Playgroud)
问题是用户需要添加新部件的位置.有数千个不同的部件,因此他们无法真正选择单个部件号组合框.他们希望能够从三个不同的组合框中选择零件类型,制造商和零件编号,从而逐步缩小每个组合框中的结果.
选择零件类型>>选择制造其中一种类型的制造商>>由该制造商选择该类型零件的零件号>>输入数量
好的,所以我可以使用2个未绑定的组合框和DLookup作为默认值,并通过他们的Row Source查询链接它们.最终的组合框是部件编号,其行源已过滤 - 因此它仅列出所选类型和制造商的零件.在这种情况发生之前,我已经做到了这一点并且效果很好.
但是我试图在Access中使用连续表单来执行此操作,并且它在每条记录上返回相同的Dlookup结果.例如
Type Manufacturer Number Qty
-------------------------------------
Widget Acme 123ab 1
Widget Acme 456 1
Widget Acme 12345 2
Widget Acme 322-12A 1
...
Run Code Online (Sandbox Code Playgroud)
唉,发生了什么事?我的Dlookups似乎只使用第一条记录中的值.为什么?
这甚至是一个很好的方法吗?有没有比连续形式的向下钻取组合框更好的模式?我能想到的另一种解决方法是在"添加/编辑部件"类型表单上使用组合框,在对话框中选择详细信息,然后从中填充部件号.但这似乎更加愚蠢.
我想用codeplex excelpackage写一个excel文件(2007),但是要花很多时间编写excel文件.我没有找到任何可以接受数据源的方法.
我的代码片段:
var newFile = new FileInfo(GlobalVariables.Compare2007Path);
using (var excelpackage = new ExcelPackage(newFile))
{
var myWorkbook = excelpackage.Workbook;
myWorkbook.Worksheets.Add("sheetname");
var xlWorkSheet = xlWorkBook.Worksheets["sheetname"];
//loop the data and fill the columns
var rowCount = 2;
foreach (var compare in objCompare)
{
xlWorkSheet.Cell(rowCount, 1).Value = compare.adserverIdSite.ToString();
xlWorkSheet.Cell(rowCount, 2).Value = compare.site;
xlWorkSheet.Cell(rowCount, 3).Value = compare.adserverIdZone.ToString();
xlWorkSheet.Cell(rowCount, 4).Value = compare.zone;
xlWorkSheet.Cell(rowCount, 5).Value = compare.position;
xlWorkSheet.Cell(rowCount, 6).Value = compare.weekday;
xlWorkSheet.Cell(rowCount, 7).Value = compare.oldimps.ToString();
xlWorkSheet.Cell(rowCount, 8).Value = compare.olduu.ToString();
xlWorkSheet.Cell(rowCount, 9).Value = compare.oldimpsuu.ToString();
xlWorkSheet.Cell(rowCount, 10).Value = …
Run Code Online (Sandbox Code Playgroud)