问题描述
DEFINE_GUID(GUID_MEDIA_DEVINTERFACE,0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
//---
PAGED_CODE();
WDF_IO_TARGET_OPEN_ParaMS openParams;
UNICODE_STRING uniName_read;
NTSTATUS ntStatus = STATUS_INVALID_ParaMETER;
PFILE_OBJECT* pRealAudioFileObject = NULL;
PDEVICE_OBJECT* pRealAudioDeviceObject = NULL;
PZZWSTR symbolicLinkList = NULL;
UNICODE_STRING uniAudioDeviceName;
RtlInitUnicodeString(&uniName_read,L"\\Device\\00000020");
ntStatus = IoGetDeviceObjectPointer( // this one fails should it matter (0xc0000034 - STATUS_OBJECT_NAME_NOT_FOUND)
&uniName_read,FILE_READ_DATA,pRealAudioFileObject,pRealAudioDeviceObject);
ntStatus = IoGetDeviceInterfaces(
&GUID_MEDIA_DEVINTERFACE,NT_SUCCESS(ntStatus) ? *pRealAudioDeviceObject : NULL,DEVICE_INTERFACE_INCLUDE_NONACTIVE,&symbolicLinkList
);
if (!NT_SUCCESS(ntStatus))
goto error;
symbolicLinkList
变空了...为什么?
我在VirtualBox Win10 VM上,\ Device \ 00000020是音频驱动程序的“物理设备对象名称”属性。另外,我已经三遍检查了GUID_MEDIA_DEVINTERFACE
确实是Media接口类GUID。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)