Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 829 of file minwave.cpp.
{ //PAGED_CODE(); //ASSERT(PropertyRequest); DBGPRINT(("[PropertyHandler_ChannelConfig]")); #ifdef WAVERT CMiniportWaveCMI *that = (CMiniportWaveCMI *) ((PMINIPORTWAVERT)PropertyRequest->MajorTarget); #else CMiniportWaveCMI *that = (CMiniportWaveCMI *) ((PMINIPORTWAVECYCLIC)PropertyRequest->MajorTarget); #endif if (PropertyRequest->Node == KSNODE_WAVE_DAC) { if (PropertyRequest->ValueSize == 0) { PropertyRequest->ValueSize = sizeof(LONG); return STATUS_BUFFER_OVERFLOW; } else if (PropertyRequest->ValueSize < sizeof (LONG)) { PropertyRequest->ValueSize = 0; return STATUS_BUFFER_TOO_SMALL; } if (PropertyRequest->Verb & KSPROPERTY_TYPE_GET) { *(PLONG)PropertyRequest->Value = that->requestedChannelMask; PropertyRequest->ValueSize = sizeof(ULONG); return STATUS_SUCCESS; } else if (PropertyRequest->Verb & KSPROPERTY_TYPE_SET) { if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_7POINT1) { that->requestedChannelMask = *(PLONG)PropertyRequest->Value; that->requestedChannelCount = 8; return STATUS_SUCCESS; } if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_5POINT1) { that->requestedChannelMask = *(PLONG)PropertyRequest->Value; that->requestedChannelCount = 6; return STATUS_SUCCESS; } if ((*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_QUAD) || (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_SURROUND)) { that->requestedChannelMask = *(PLONG)PropertyRequest->Value; that->requestedChannelCount = 4; return STATUS_SUCCESS; } if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_STEREO) { that->requestedChannelMask = *(PLONG)PropertyRequest->Value; that->requestedChannelCount = 2; return STATUS_SUCCESS; } } else if (PropertyRequest->Verb & KSPROPERTY_TYPE_BASICSUPPORT) { PULONG AccessFlags = PULONG(PropertyRequest->Value); *AccessFlags = KSPROPERTY_TYPE_BASICSUPPORT | KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_SET; PropertyRequest->ValueSize = sizeof(ULONG); return STATUS_SUCCESS; } } return STATUS_INVALID_PARAMETER; }