void __stdcall SamIFree_SAMPR_ENUMERATION_BUFFER ( PSAM_ENUMERATION_BUFFER EnumerationBuf ) { if ( NULL != EnumerationBuf ) { _fgs__SAMPR_ENUMERATION_BUFFER( EnumerationBuf ); MIDL_user_free( EnumerationBuf ); } return; } /* end of SamIFree_SAMPR_ENUMERATION_BUFFER */ /* * 由主调函数确保形参非NULL */ void __stdcall _fgs__SAMPR_ENUMERATION_BUFFER ( PSAM_ENUMERATION_BUFFER EnumerationBuf ) { DWORD count; PSAM_OEM_GROUP_INFORMATION OemGroupInfo; if ( NULL != EnumerationBuf->OemGroupInfo ) { count = 0; OemGroupInfo = EnumerationBuf->OemGroupInfo; while ( count < EnumerationBuf->OemGroupInfoCount ) { SampFreeOemGroupInfo( OemGroupInfo ); count++; /* * 动态分配空间的结构数组 */ OemGroupInfo++; } /* end of while */ MIDL_user_free( EnumerationBuf->OemGroupInfo ); } return; } /* end of _fgs__SAMPR_ENUMERATION_BUFFER */ void __stdcall SampFreeOemGroupInfo ( PSAM_OEM_GROUP_INFORMATION OemGroupInfo ) { _fgs__SAMPR_GET_GROUPS_BUFFER( &OemGroupInfo->GetGroupsBuf ); return; } /* end of SampFreeOemGroupInfo */ void __stdcall _fgs__SAMPR_GET_GROUPS_BUFFER ( PSAM_GET_GROUPS_BUFFER GetGroupsBuf ) { if ( NULL != GetGroupsBuf->buffer ) { MIDL_user_free( GetGroupsBuf->buffer ); } return; } /* end of _fgs__SAMPR_GET_GROUPS_BUFFER */