IPort::GetDeviceProperty 方法 (portcls.h)
GetDeviceProperty 方法简化了对即插即用设备的注册表中包含的设备属性的访问。
语法
NTSTATUS GetDeviceProperty(
DEVICE_REGISTRY_PROPERTY DeviceProperty,
ULONG BufferLength,
PVOID PropertyBuffer,
PULONG ResultLength
);
参数
DeviceProperty
标识调用方请求的特定设备属性。 此参数的有效值与为 IoGetDeviceProperty 调用的 DeviceProperty 参数定义的值相同。
BufferLength
指定要接收所请求信息的缓冲区的长度(以字节为单位)。
PropertyBuffer
指向属性缓冲区的指针。 此参数指向调用方分配的缓冲区,方法在该缓冲区中写入请求的属性信息。 缓冲区必须足够大,才能包含 BufferLength 中指定的字节数。
ResultLength
指向返回的数据长度的输出指针。 此参数指向调用方分配的 ULONG 变量,该方法在该变量中写入计数,指定实际写入 PropertyBuffer 缓冲区的字节数。 但是,如果缓冲区太小而无法包含信息,该方法将改为输出所需的缓冲区大小。
返回值
如果调用成功,此方法返回包含STATUS_SUCCESS的 NTSTATUS。 否则,该方法将返回相应的错误代码。 如果调用方提供的属性缓冲区太小,该方法将返回STATUS_BUFFER_TOO_SMALL并在 ReturnLength 中输出所需的大小。
注解
此方法检索音频适配器的设备属性。 它在操作上类似于 PcGetDeviceProperty 函数,只不过它会自动检索音频适配器的设备属性,而不是要求设备对象显式指定目标设备。
要求
要求 | 值 |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |