Exemplo n.º 1
0
DWORD
VmDnsSrvGetRDataLength(
    VMDNS_RECORD_DATA   Data,
    PUINT16             puRDataLength,
    BOOL                bTokenizeDomainName
    )
{
    DWORD dwError = 0;
    UINT16 uRDataLength = 0;
    UINT16 uNameTargetLength = 0;

    if (!puRDataLength)
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDNS_ERROR(dwError);
    }

    dwError = VmDnsGetDomainNameLength(
                              Data.SRV.pNameTarget,
                              &uNameTargetLength,
                              bTokenizeDomainName
                              );
    BAIL_ON_VMDNS_ERROR(dwError);

    uRDataLength += uNameTargetLength;

    uRDataLength += sizeof(UINT16); //wPriority

    uRDataLength += sizeof(UINT16); //wWeight

    uRDataLength += sizeof(UINT16); //wPort

    *puRDataLength = uRDataLength;

cleanup:

    return dwError;
error:

    if (puRDataLength)
    {
        *puRDataLength = 0;
    }
    goto cleanup;
}
Exemplo n.º 2
0
DWORD
VmDnsPtrRecordGetRDataLength(
    VMDNS_RECORD_DATA Data,
    PUINT16           puRDataLength,
    BOOL              bTokenizeDomainName
    )
{
    DWORD dwError = 0;
    UINT16 uRdataLength = 0;

    if (!puRDataLength)
    {
        dwError = ERROR_INVALID_PARAMETER;
        BAIL_ON_VMDNS_ERROR(dwError);
    }

    dwError = VmDnsGetDomainNameLength(
                                  Data.PTR.pNameHost,
                                  &uRdataLength,
                                  bTokenizeDomainName
                                  );
    BAIL_ON_VMDNS_ERROR(dwError);

    *puRDataLength = uRdataLength;

cleanup:

    return dwError;
error:

    if (puRDataLength)
    {
        *puRDataLength = 0;
    }
    goto cleanup;
}