本文整理汇总了C++中MIDL_user_free函数的典型用法代码示例。如果您正苦于以下问题:C++ MIDL_user_free函数的具体用法?C++ MIDL_user_free怎么用?C++ MIDL_user_free使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MIDL_user_free函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: kull_m_rpc_drsr_free_DRS_MSG_CRACKREPLY_data
void kull_m_rpc_drsr_free_DRS_MSG_CRACKREPLY_data(DWORD nameCrackOutVersion, DRS_MSG_CRACKREPLY * reply)
{
DWORD i;
if(reply)
{
switch (nameCrackOutVersion)
{
case 1:
if(reply->V1.pResult)
{
for(i = 0; i < reply->V1.pResult->cItems; i++)
{
if(reply->V1.pResult->rItems[i].pDomain)
MIDL_user_free(reply->V1.pResult->rItems[i].pDomain);
if(reply->V1.pResult->rItems[i].pName)
MIDL_user_free(reply->V1.pResult->rItems[i].pName);
}
if(reply->V1.pResult->rItems)
MIDL_user_free(reply->V1.pResult->rItems);
MIDL_user_free(reply->V1.pResult);
}
break;
default:
PRINT_ERROR(L"nameCrackOutVersion not valid (0x%08x - %u)\n", nameCrackOutVersion, nameCrackOutVersion);
break;
}
}
}
示例2: free_list
static void free_list(LPWSTR *list, DWORD count)
{
LONG i;
for (i = 0; i < count; i++)
MIDL_user_free(list[i]);
MIDL_user_free(list);
}
示例3: SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR
VOID
NTAPI
SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR(PSAMPR_SR_SECURITY_DESCRIPTOR Ptr)
{
if (Ptr != NULL)
{
if (Ptr->SecurityDescriptor != NULL)
MIDL_user_free(Ptr->SecurityDescriptor);
MIDL_user_free(Ptr);
}
}
示例4: SamIFree_SAMPR_GET_GROUPS_BUFFER
VOID
NTAPI
SamIFree_SAMPR_GET_GROUPS_BUFFER(PSAMPR_GET_GROUPS_BUFFER Ptr)
{
if (Ptr != NULL)
{
if (Ptr->Groups != NULL)
MIDL_user_free(Ptr->Groups);
MIDL_user_free(Ptr);
}
}
示例5: LsapMmFreeLastEntry
VOID
LsapMmFreeLastEntry(
IN PLSAP_MM_FREE_LIST FreeList
)
/*++
Routine Description:
This function frees the last buffer appeended to the Free List.
Arguments:
FreeList - Pointer to Free List.
--*/
{
ULONG LastIndex = FreeList->UsedCount - 1;
if (FreeList->Buffers[LastIndex].Options & LSAP_MM_MIDL) {
MIDL_user_free( FreeList->Buffers[LastIndex].Buffer );
} else {
LsapFreeLsaHeap( FreeList->Buffers[LastIndex].Buffer );
}
FreeList->Buffers[LastIndex].Buffer = NULL;
FreeList->UsedCount--;
}
示例6: LsaQueryInformationPolicy
/*
* @implemented
*/
NTSTATUS
WINAPI
LsaQueryInformationPolicy(IN LSA_HANDLE PolicyHandle,
IN POLICY_INFORMATION_CLASS InformationClass,
OUT PVOID *Buffer)
{
PLSAPR_POLICY_INFORMATION PolicyInformation = NULL;
NTSTATUS Status;
TRACE("(%p,0x%08x,%p)\n", PolicyHandle, InformationClass, Buffer);
RpcTryExcept
{
Status = LsarQueryInformationPolicy((LSAPR_HANDLE)PolicyHandle,
InformationClass,
&PolicyInformation);
*Buffer = PolicyInformation;
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
if (PolicyInformation != NULL)
MIDL_user_free(PolicyInformation);
Status = I_RpcMapWin32Status(RpcExceptionCode());
}
RpcEndExcept;
TRACE("Done (Status: 0x%08x)\n", Status);
return Status;
}
示例7: LsaLookupPrivilegeName
/*
* @implemented
*/
NTSTATUS
WINAPI
LsaLookupPrivilegeName(IN LSA_HANDLE PolicyHandle,
IN PLUID Value,
OUT PUNICODE_STRING *Name)
{
PRPC_UNICODE_STRING NameBuffer = NULL;
NTSTATUS Status;
TRACE("(%p,%p,%p)\n", PolicyHandle, Value, Name);
RpcTryExcept
{
Status = LsarLookupPrivilegeName(PolicyHandle,
Value,
&NameBuffer);
*Name = (PUNICODE_STRING)NameBuffer;
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
if (NameBuffer != NULL)
MIDL_user_free(NameBuffer);
Status = I_RpcMapWin32Status(RpcExceptionCode());
}
RpcEndExcept;
return Status;
}
示例8: LsarQueryModification
NTSTATUS
LsarQueryModification(PLSA_DB_OBJECT PolicyObject,
PLSAPR_POLICY_INFORMATION *PolicyInformation)
{
PPOLICY_MODIFICATION_INFO Info = NULL;
ULONG AttributeSize;
NTSTATUS Status;
*PolicyInformation = NULL;
AttributeSize = sizeof(POLICY_MODIFICATION_INFO);
Info = MIDL_user_allocate(AttributeSize);
if (Info == NULL)
return STATUS_INSUFFICIENT_RESOURCES;
Status = LsapGetObjectAttribute(PolicyObject,
L"PolMod",
Info,
&AttributeSize);
if (!NT_SUCCESS(Status))
{
MIDL_user_free(Info);
}
else
{
*PolicyInformation = (PLSAPR_POLICY_INFORMATION)Info;
}
return Status;
}
示例9: _fgs__LSAPR_UNICODE_STRING
/* routine that frees graph for struct _LSAPR_UNICODE_STRING */
void _fgs__LSAPR_UNICODE_STRING (LSAPR_UNICODE_STRING * _source)
{
if (_source->Buffer !=0)
{
MIDL_user_free((void *)(_source->Buffer));
}
}
示例10: _fgs__LSAPR_ACCOUNT_INFORMATION
/* routine that frees graph for struct _LSAPR_ACCOUNT_INFORMATION */
void _fgs__LSAPR_ACCOUNT_INFORMATION (LSAPR_ACCOUNT_INFORMATION * _source)
{
if (_source->Sid !=0)
{
MIDL_user_free((void *)(_source->Sid));
}
}
示例11: _fgs__STRING
/* routine that frees graph for struct _STRING */
void _fgs__STRING (STRING * _source)
{
if (_source->Buffer !=0)
{
MIDL_user_free((void *)(_source->Buffer));
}
}
示例12: _fgs__LSAPR_POLICY_AUDIT_EVENTS_INFO
/* routine that frees graph for struct _LSAPR_POLICY_AUDIT_EVENTS_INFO */
void _fgs__LSAPR_POLICY_AUDIT_EVENTS_INFO (LSAPR_POLICY_AUDIT_EVENTS_INFO * _source)
{
if (_source->EventAuditingOptions !=0)
{
MIDL_user_free((void *)(_source->EventAuditingOptions));
}
}
示例13: _fgs__LSAPR_TRANSLATED_SIDS
/* routine that frees graph for struct _LSAPR_TRANSLATED_SIDS */
void _fgs__LSAPR_TRANSLATED_SIDS (LSAPR_TRANSLATED_SIDS * _source)
{
if (_source->Sids !=0)
{
MIDL_user_free((void *)(_source->Sids));
}
}
示例14: _fgs__LSAPR_CR_CIPHER_VALUE
/* routine that frees graph for struct _LSAPR_CR_CIPHER_VALUE */
void _fgs__LSAPR_CR_CIPHER_VALUE (LSAPR_CR_CIPHER_VALUE * _source)
{
if (_source->Buffer !=0)
{
MIDL_user_free((void *)(_source->Buffer));
}
}
示例15: _fgs__LSAPR_SR_SECURITY_DESCRIPTOR
/* routine that frees graph for struct _LSAPR_SR_SECURITY_DESCRIPTOR */
void _fgs__LSAPR_SR_SECURITY_DESCRIPTOR (LSAPR_SR_SECURITY_DESCRIPTOR * _source)
{
if (_source->SecurityDescriptor !=0)
{
MIDL_user_free((void *)(_source->SecurityDescriptor));
}
}