关于OtherOperationCount的I / O操作

时间:2017-07-06 08:25:55

标签: .net winapi

https://msdn.microsoft.com/en-us/library/windows/desktop/ms684125(v=vs.85).aspx 提到

  

OtherOperationCount执行的I / O操作数,除了   读写操作。

但是这些操作的例子是什么?

1 个答案:

答案 0 :(得分:2)

您需要 Windows Research Kernel 1.2 才能理解这一点。在base/ntos/io/iomgr/internal.c中查找IopSynchronousServiceTail。在此函数的最开始存在next code

//
// Update the operation count statistic for the current process.
//

switch( TransferType ) {

case ReadTransfer:
    IopUpdateReadOperationCount();
    break;

case WriteTransfer:
    IopUpdateWriteOperationCount();
    break;

case OtherTransfer:
    IopUpdateOtherOperationCount();
    break;
}

所以在OtherTransfer文件夹中搜索字符串base/ntos/io/iomgr - 你发现使用它的api数量巨大:

NtDeviceIoControlFile
NtFsControlFile
NtQueryDirectoryFil
NtNotifyChangeDirectoryFile
NtLockFile
NtUnlockFile 
NtFlushBuffersFile 
NtQueryEaFile
NtSetEaFile 
NtSetVolumeInformationFile 
NtQueryVolumeInformationFile
NtQueryQuotaInformationFile  
NtSetQuotaInformationFile
...