152
152
DWORD dwError = 0;
153
153
PVOID pGroupInfo = NULL;
154
154
LSA_QUERY_LIST QueryList;
155
LSA_QUERY_ITEM QueryItem;
156
DWORD dwObjectCount = 1;
155
157
PLSA_SECURITY_OBJECT* ppObjects = NULL;
158
PLSA_SECURITY_OBJECT pGroup = NULL;
157
160
BAIL_ON_INVALID_HANDLE(hLsaConnection);
158
161
BAIL_ON_INVALID_STRING(pszGroupName);
163
166
BAIL_ON_INVALID_POINTER(ppGroupInfo);
165
QueryList.ppszStrings = &pszGroupName;
167
dwError = LsaFindObjects(
171
LSA_OBJECT_TYPE_GROUP,
172
LSA_QUERY_TYPE_BY_NAME,
168
switch (dwGroupInfoLevel)
172
QueryItem.pszString = pszGroupName;
174
dwError = LsaFindGroupAndExpandedMembers(
178
LSA_QUERY_TYPE_BY_NAME,
183
BAIL_ON_LSA_ERROR(dwError);
185
dwError = LsaMarshalGroupInfo1(
193
BAIL_ON_LSA_ERROR(dwError);
196
QueryList.ppszStrings = &pszGroupName;
198
dwError = LsaFindObjects(
202
LSA_OBJECT_TYPE_GROUP,
203
LSA_QUERY_TYPE_BY_NAME,
176
BAIL_ON_LSA_ERROR(dwError);
178
if (ppObjects[0] == NULL)
180
dwError = LW_ERROR_NO_SUCH_GROUP;
207
BAIL_ON_LSA_ERROR(dwError);
209
if (ppObjects[0] == NULL)
211
dwError = LW_ERROR_NO_SUCH_GROUP;
212
BAIL_ON_LSA_ERROR(dwError);
215
dwError = LsaMarshalGroupInfo(
181
221
BAIL_ON_LSA_ERROR(dwError);
184
dwError = LsaMarshalGroupInfo(
190
BAIL_ON_LSA_ERROR(dwError);
196
228
*ppGroupInfo = pGroupInfo;
233
LsaFreeSecurityObject(pGroup);
201
LsaFreeSecurityObjectList(1, ppObjects);
238
LsaFreeSecurityObjectList(dwObjectCount, ppObjects);
218
255
DWORD dwError = 0;
219
256
PVOID pGroupInfo = NULL;
220
257
LSA_QUERY_LIST QueryList;
258
LSA_QUERY_ITEM QueryItem;
259
DWORD dwObjectCount = 1;
221
260
PLSA_SECURITY_OBJECT* ppObjects = NULL;
261
PLSA_SECURITY_OBJECT pGroup = NULL;
222
262
DWORD dwGid = (DWORD) gid;
224
264
BAIL_ON_INVALID_HANDLE(hLsaConnection);
229
269
BAIL_ON_INVALID_POINTER(ppGroupInfo);
231
QueryList.pdwIds = &dwGid;
233
dwError = LsaFindObjects(
237
LSA_OBJECT_TYPE_GROUP,
238
LSA_QUERY_TYPE_BY_UNIX_ID,
242
BAIL_ON_LSA_ERROR(dwError);
244
if (ppObjects[0] == NULL)
271
switch (dwGroupInfoLevel)
246
dwError = LW_ERROR_NO_SUCH_GROUP;
275
QueryItem.dwId = dwGid;
277
dwError = LsaFindGroupAndExpandedMembers(
281
LSA_QUERY_TYPE_BY_UNIX_ID,
286
BAIL_ON_LSA_ERROR(dwError);
288
dwError = LsaMarshalGroupInfo1(
296
BAIL_ON_LSA_ERROR(dwError);
299
QueryList.pdwIds = &dwGid;
301
dwError = LsaFindObjects(
305
LSA_OBJECT_TYPE_GROUP,
306
LSA_QUERY_TYPE_BY_UNIX_ID,
310
BAIL_ON_LSA_ERROR(dwError);
312
if (ppObjects[0] == NULL)
314
dwError = LW_ERROR_NO_SUCH_GROUP;
315
BAIL_ON_LSA_ERROR(dwError);
318
dwError = LsaMarshalGroupInfo(
247
324
BAIL_ON_LSA_ERROR(dwError);
250
dwError = LsaMarshalGroupInfo(
256
BAIL_ON_LSA_ERROR(dwError);
262
331
*ppGroupInfo = pGroupInfo;
336
LsaFreeSecurityObject(pGroup);
267
LsaFreeSecurityObjectList(1, ppObjects);
341
LsaFreeSecurityObjectList(dwObjectCount, ppObjects);