/* * nssudeaudio - USB Bus Class Filter Driver for fixing UDE compatibility with USBAUDIO.SYS * * Copyright (c) 2022-2023, Nefarius Software Solutions e.U. * All rights reserved. * * Redistribution and use in bytecode or binary forms, without modification, * are permitted provided that the following conditions are met: * * * Redistributions in bytecode or binary form must reproduce the above * copyright notice, this list of conditions and the following disclaimer * in the documentation and/or other materials provided with the * distribution. This includes repository READMEs for open-source projects * interfacing with this product, websites or in-application credits. * * * Neither the name of the nssudeaudio.sys nor the names of its contributors may * be used to endorse or promote products derived from or distributed * with this software without specific prior written permission. * * * Bundling or otherwise redistributing copies of binaries signed by * Nefarius Software Solutions e.U. is prohibited without specific prior * written permission. * * * Personal use for research, experiment, and testing for * the benefit of public knowledge, personal study, private * entertainment, hobby projects, amateur pursuits, or religious * observance, without any anticipated commercial application, * is use for a permitted purpose. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #pragma once _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS SetDeviceProperty( _In_ DMFBUSCHILDDEVICE Device, _In_ const DEVPROPKEY* PropertyKey, _In_ DEVPROPTYPE PropertyType, _In_ PWSTR Buffer ); _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS BusQueryId( PDEVICE_OBJECT DeviceObject, BUS_QUERY_ID_TYPE IdType, PWCHAR Buffer, ULONG BufferLength ); _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS GetDeviceInstanceIdProperty( _In_ DMFBUSCHILDDEVICE ChildDevice, _Out_ WDFMEMORY* Value );