29{
34
38
39
42
45
46
49
52
54
55
57 {
59 {
61 break;
62 }
64 {
66 break;
67 }
69 {
71 break;
72 }
74 {
76 break;
77 }
79 {
80 GoodSize = CapabilitiesSize >=
sizeof(
AUXCAPSW);
81 break;
82 }
84 {
85 GoodSize = CapabilitiesSize >=
sizeof(
MIXERCAPSW);
86 break;
87 }
88 };
89
90 if ( ! GoodSize )
91 {
92 SND_ERR(
L"Device capabilities structure too small\n");
94 }
95
96
98
101
103 DeviceId,
105 CapabilitiesSize);
106}
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
BOOLEAN IsValidSoundDevice(IN PSOUND_DEVICE SoundDevice)
#define VALIDATE_MMSYS_PARAMETER(parameter_condition)
MMRESULT GetSoundDeviceFunctionTable(IN PSOUND_DEVICE SoundDevice, OUT PMMFUNCTION_TABLE *FunctionTable)
MMRESULT TranslateInternalMmResult(IN MMRESULT Result)
MMRESULT GetSoundDeviceType(IN PSOUND_DEVICE SoundDevice, OUT PMMDEVICE_TYPE DeviceType)
#define MMSUCCESS(result)
#define SND_ASSERT(condition)
struct tagMIDIINCAPSW MIDIINCAPSW
struct tagAUXCAPSW AUXCAPSW
#define MMSYSERR_NOTSUPPORTED
struct tagMIDIOUTCAPSW MIDIOUTCAPSW
struct tagWAVEINCAPSW WAVEINCAPSW
#define MMSYSERR_INVALPARAM
struct tagMIXERCAPSW MIXERCAPSW
struct tagWAVEOUTCAPSW WAVEOUTCAPSW
#define IS_VALID_SOUND_DEVICE_TYPE(x)
static WLX_DISPATCH_VERSION_1_4 FunctionTable
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO