コード例 #1
0
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;
}
コード例 #2
0
ファイル: PyDSBUFFERDESC.cpp プロジェクト: malrsrch/pywin32
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);
}