BOOL PyWinObject_AsWAVEFORMATEX(PyObject *ob, WAVEFORMATEX **ppWAVEFORMATEX, BOOL bNoneOK /*= TRUE*/) { if (bNoneOK && ob==Py_None) { *ppWAVEFORMATEX = NULL; } else if (!PyWAVEFORMATEX_Check(ob)) { PyErr_SetString(PyExc_TypeError, "The object is not a PyWAVEFORMATEX object"); return FALSE; } else { PyWAVEFORMATEX *pywfx= (PyWAVEFORMATEX *)ob; *ppWAVEFORMATEX = &pywfx->m_wfx; } return TRUE; }
int PyDSBUFFERDESC::setattro(PyObject *self, PyObject *obname, PyObject *obvalue) { PyDSBUFFERDESC *obself = (PyDSBUFFERDESC*)self; char *name=PYWIN_ATTR_CONVERT(obname); if (name==NULL) return -1; if (strcmp(name,"lpwfxFormat") == 0) { if (obvalue == Py_None) { obself->m_dsbd.lpwfxFormat = NULL; } else if (!PyWAVEFORMATEX_Check(obvalue)) { PyErr_SetString(PyExc_ValueError,"lpwfxFormat must be a WAVEFORMATEX instance"); return -1; } else { obself->m_dsbd.lpwfxFormat = &((PyWAVEFORMATEX*)obvalue)->m_wfx; } } return PyObject_GenericSetAttr(self, obname, obvalue); }