static void FillGrantedUsers (HWND hwndCtl, LPREVOKEPARAMS lprevoke, int objectToFind) { int hdl, ires, gtype; BOOL bwsystem; char buf [MAXOBJECTNAME]; char buffilter [MAXOBJECTNAME]; char bufwithparent [MAXOBJECTNAME]; LPUCHAR parentstrings [MAXPLEVEL]; LPDOMDATA lpDomData =GetCurLpDomData (); ZEROINIT (buf); ZEROINIT (buffilter); hdl = GetCurMdiNodeHandle (); bwsystem = GetSystemFlag (); if (!lpDomData) return; parentstrings [0] = lprevoke->DBName; // Database name if (lprevoke->ObjectType != OT_VIEW) parentstrings [1] = StringWithOwner ((LPTSTR)Quote4DisplayIfNeeded(lprevoke->PreselectObject), lprevoke->PreselectObjectOwner, bufwithparent); else parentstrings [1] = StringWithOwner ((LPTSTR)Quote4DisplayIfNeeded(lprevoke->PreselectObject), lprevoke->PreselectObjectOwner, bufwithparent); ires = DOMGetFirstObject (hdl, objectToFind, 2, parentstrings, bwsystem, NULL, buf, NULL, NULL); while (ires == RES_SUCCESS) { gtype = DBA_GetObjectType (buf, lpDomData); if (gtype == lprevoke->GranteeType) { CAListBox_AddString (hwndCtl, buf); } ires = DOMGetNextObject (buf, buffilter, NULL); } }
BOOL CxDlgObjectComment::InitializeObjectColumns() { TCHAR tblNameWithOwner[MAXOBJECTNAME]; int ires, nLevel = 2; LPUCHAR aparents [MAXPLEVEL]; TCHAR tchszBuf [MAXOBJECTNAME]; TCHAR tchszOwner [MAXOBJECTNAME]; TCHAR tchszBufComplim[MAXOBJECTNAME]; LPTSTR lpszOwner = NULL; BOOL bSystem = FALSE; if (m_iCurObjType != OT_TABLE && m_iCurObjType != OT_VIEW) return FALSE; StringWithOwner((LPUCHAR)Quote4DisplayIfNeeded((LPTSTR)(LPCTSTR)m_csObjectName), (LPUCHAR)(LPTSTR)(LPCTSTR) m_csObjectOwner, (LPUCHAR)tblNameWithOwner); aparents[0] = (LPUCHAR)(LPCTSTR)m_csDBName; aparents[1] = (LPUCHAR)tblNameWithOwner; aparents[2] = NULL; nLevel = 2; tchszBuf[0] = 0; tchszOwner[0] = 0; tchszBufComplim[0] = 0; LPOBJECTLIST lpColTemp; LPCOMMENTCOLUMN lpCommentCol; ires = DOMGetFirstObject( m_nNodeHandle, (m_iCurObjType == OT_TABLE)? OT_COLUMN: OT_VIEWCOLUMN, nLevel, aparents, bSystem, NULL, (LPUCHAR)tchszBuf, (LPUCHAR)tchszOwner, (LPUCHAR)tchszBufComplim); if (ires != RES_SUCCESS && ires != RES_ENDOFDATA) { CString csMsg; csMsg.LoadString(IDS_E_COMMENTS_FAILED); MessageWithHistoryButton(m_hWnd,csMsg); return FALSE; } while (ires == RES_SUCCESS) { lpColTemp = AddListObjectTail(&m_ListColumn, sizeof(COMMENTCOLUMN)); if (!lpColTemp) { // Need to free previously allocated objects. ErrorMessage ( (UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR); FreeObjectList(m_ListColumn); m_ListColumn = NULL; return FALSE; } lpCommentCol = (LPCOMMENTCOLUMN)lpColTemp->lpObject; lstrcpy((LPTSTR)lpCommentCol->szColumnName,tchszBuf); lpCommentCol->lpszComment = NULL; tchszBuf[0] = 0; tchszOwner[0] = 0; tchszBufComplim[0] = 0; ires = DOMGetNextObject ((LPUCHAR)tchszBuf, (LPUCHAR)tchszOwner, (LPUCHAR)tchszBufComplim); } return TRUE; }