Compartir a través de


Método ICertView::SetRestriction (certview.h)

El método SetRestriction establece las restricciones de ordenación y calificación en una columna.

Sintaxis

HRESULT SetRestriction(
  [in] LONG          ColumnIndex,
  [in] LONG          SeekOperator,
  [in] LONG          SortOrder,
  [in] const VARIANT *pvarValue
);

Parámetros

[in] ColumnIndex

Número de índice de columna válido para la vista o un especificador de columna predefinido. Si el parámetro ColumnIndex no es negativo, este valor representa el índice de base cero de la columna que recibe la restricción.

Si el parámetro ColumnIndex es negativo, se omiten todos los demás parámetros y este parámetro debe ser uno de los valores siguientes.

Valor Significado
CV_COLUMN_LOG_DEFAULT
Restringe la vista a las solicitudes que se han resuelto. Se resuelve una solicitud si se ha producido un certificado emitido o una solicitud errónea; Los certificados revocados se consideran resueltos.
CV_COLUMN_LOG_FAILED_DEFAULT
Restringe la vista a las solicitudes con errores.
CV_COLUMN_QUEUE_DEFAULT
Restringe la vista a las solicitudes que no se han resuelto; Si una solicitud ha dado lugar a un certificado emitido o a una solicitud con error, no formará parte de la vista.

[in] SeekOperator

Especifica el operador lógico del calificador de consulta de datos para la columna. Este parámetro se usa con el parámetro pvarValue para definir el calificador de consulta de datos. Este parámetro debe establecerse en uno de los valores siguientes.

Valor Significado
CVR_SEEK_EQ
Igual a
CVR_SEEK_LE
Menor o igual que
CVR_SEEK_LT
Menor que
CVR_SEEK_GE
Mayor o igual que
CVR_SEEK_GT
Mayor que

[in] SortOrder

Especifica el criterio de ordenación de la columna. Las columnas indizada con cero o una restricción pueden incluir un criterio de ordenación de CVR_SORT_ASCEND o CVR_SORT_DESCEND. Las columnas o columnas no indexadas con dos o más restricciones deben usar CVR_SORT_NONE.

Valor Significado
CVR_SORT_ASCEND
Ascendente
CVR_SORT_DESCEND
Descendente
CVR_SORT_NONE
Sin criterio de ordenación

[in] pvarValue

Especifica el calificador de consulta de datos aplicado a esta columna. Este parámetro, junto con el parámetro SeekOperator , determina qué datos se devuelven a la vista Servicios de certificados.

Valor devuelto

VB

Si el método se realiza correctamente, el método devuelve S_OK.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Comentarios

El objeto ICertView mantiene una matriz de restricciones, lo que permite que cada columna contenga cualquier número de restricciones. Una vez establecidas las restricciones de columna, una llamada al método ICertView::OpenView recuperará los datos, con las restricciones de cada columna usadas como parte de la consulta de base de datos.

Antes de llamar al método SetRestriction , es necesario establecer una conexión con el servidor del servicio de certificados mediante una llamada al método ICertView::OpenConnection .

Ejemplos

    // This example restricts the data
    // to rows that have RequestIDs greater than five.
    // pCertView is a pointer to ICertView.
    HRESULT    hr;
    VARIANT    varRest;
    LONG       nIndex;
    BSTR       bstrCol = NULL;

    // Use one column in the result set.
    hr = pCertView->SetResultColumnCount(1);
    if (FAILED(hr))
    {
        printf("Failed SetResultColumnCount - %x\n", hr);
        goto error;
    }
    // Determine the column index for RequestID column.
    bstrCol = SysAllocString(TEXT("RequestID"));
    hr = pCertView->GetColumnIndex(FALSE, bstrCol, &nIndex);
    if (FAILED(hr))
    {
        printf("Failed GetColumnIndex - %x\n", hr);
        goto error;
    }
    // Place this column into the result set.
    pCertView->SetResultColumn(nIndex);
    // Set a restriction on this column.
    VariantInit(&varRest);
    varRest.vt = VT_I4;
    varRest.lVal = 5;
    // Restrict view to requests with ID greater than 5.
    hr = pCertView->SetRestriction(nIndex,
                                   CVR_SEEK_GT,
                                   CVR_SORT_NONE,
                                   &varRest);
    if (S_OK != hr)
        printf("Failed ICertView::SetRestriction - %x\n", hr);
    else
	{
        // Call OpenView, process rows, release resources, and so on.
        // ...
	}
error:
    // Done processing, clear resources.
    VariantClear(&varRest);
    if (NULL != bstrCol)
        SysFreeString(bstrCol);

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certview.h (incluye Certsrv.h)
Library Certidl.lib
Archivo DLL Certadm.dll

Consulte también

ICertView

ICertView2

ICertView::OpenConnection

ICertView::OpenView

ICertView::SetResultColumn

IEnumCertViewColumn::IsIndexed