Partilhar via


OID_GEN_CO_SUPPORTED_GUIDS

O OID_GEN_CO_SUPPORTED_GUIDS OID solicita que o driver de miniporte retorne uma matriz de estruturas do tipo NDIS_GUID. Cada estrutura na matriz especifica o mapeamento de um GUID personalizado (identificador global exclusivo) para um OID personalizado ou para um NDIS_STATUS que o driver de miniporto envia por meio de NdisMCoIndicateStatusEx.

A estrutura NDIS_GUID é definida da seguinte maneira:

typedef struct _NDIS_GUID {
    GUID    Guid;
    union {
        NDIS_OID    Oid;
        NDIS_STATUS Status;
    };
    ULONG   Size;
    ULONG   Flags;
} NDIS_GUID, *PNDIS_GUID;

Os membros dessa estrutura contêm as seguintes informações:

Guid
O GUID personalizado definido para o driver de miniporto.

Oid
O OID personalizado para o qual Guid mapeia .

Status
O NDIS_STATUS para o qual Guid mapeia .

Tamanho
Quando o sinalizador fNDIS_GUID_ARRAY é definido, Size especifica o tamanho em bytes de cada item de dados na matriz retornada pelo driver de miniporto. Se o sinalizador fNDIS_GUID_ANSI_STRING ou fNDIS_GUID_NDIS_STRING estiver definido, Size será definido como -1. Caso contrário, Size especifica o tamanho em bytes do item de dados que o GUID representa.

Sinalizadores
Os sinalizadores a seguir podem ser ORed juntos para indicar se o GUID é mapeado para um OID ou para uma cadeia de caracteres NDIS_STATUS e para indicar o tipo de dados fornecidos para o GUID:

fNDIS_GUID_TO_OID
Quando definido, indica que a estrutura NDIS_GUID mapeia um GUID para um OID.

fNDIS_GUID_TO_STATUS
Quando definido, indica que a estrutura NDIS_GUID mapeia um GUID para uma cadeia de caracteres NDIS_STATUS.

fNDIS_GUID_ANSI_STRING
Quando definido, indica que uma cadeia de caracteres ANSI terminada em nulo é fornecida para o GUID.

fNDIS_GUID_UNICODE_STRING
Quando definido, indica que uma cadeia de caracteres Unicode é fornecida para o GUID.

fNDIS_GUID_ARRAY
Quando definido, indica que uma matriz de itens de dados é fornecida para o GUID. O Tamanho especificado indica o comprimento de cada item de dados na matriz.

fNDIS_GUID_ALLOW_READ
Quando definido, indica que todos os usuários têm permissão para consultar esse GUID.

fNDIS_GUID_ALLOW_WRITE
Quando definido, indica que todos os usuários têm permissão para definir esse GUID.

Comentários

Observação

Por padrão, GUIDs WMI personalizados fornecidos por um driver de miniporte só podem ser acessados para usuários com privilégios de administrador. Um usuário com privilégios de administrador sempre poderá ler ou gravar em um GUID personalizado se o driver de miniporto der suporte à operação de leitura ou gravação para esse GUID. Defina os sinalizadores fNDIS_GUID_ALLOW_READ e fNDIS_GUID_ALLOW_WRITE para permitir que todos os usuários acessem um GUID personalizado.

Observe que todos os GUIDs personalizados registrados por um driver de miniporto devem definir fNDIS_GUID_TO_OID ou fNDIS_GUID_TO_STATUS (nunca definir ambos). Todos os outros sinalizadores podem ser combinados usando o operador OR conforme aplicável.

No exemplo a seguir, uma estrutura NDIS_GUID mapeia um GUID para OID_GEN_CO_RCV_PDUS_NO_BUFFER:

NDIS_GUID NdisGuid =  {{0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00,
 0xc0, 0x4f, 0xc3, 0x35, 0x8c},
 GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
 OID_GEN_CO_RCV_PDUS_NO_BUFFER,
 4,
 fNDIS_GUID_TO_OID};

Um GUID é um identificador usado pela WMI (Instrumentação de Gerenciamento do Windows) para obter ou definir informações. O NDIS intercepta um GUID enviado pelo WMI para um driver NDIS, mapeia o GUID para um OID e envia o OID para o driver. O driver retorna os itens de dados para o NDIS, que retorna os dados para o WMI.

O NDIS também converte alterações na nic status em GUIDs reconhecidos pelo WMI. Quando um driver de miniporto relata uma alteração na NIC status com NdisMCoIndicateStatusEx, o NDIS converte o NDIS_STATUS indicado pelo driver de miniporto em um GUID que o NDIS envia para o WMI.

Se um driver de miniporto orientado a conexões der suporte a GUIDs alfandegários, ele deverá dar suporte a OID_GEN_CO_SUPPORTED_GUIDS, que retorna ao NDIS o mapeamento de GUIDs personalizados para OIDs personalizados ou cadeias de caracteres de NDIS_STATUS. Depois de consultar o driver de miniporto com OID_GEN_CO_SUPPORTED_GUIDS, o NDIS registra os GUIDs personalizados do driver de miniport com wmi.

Requisitos

Versão: Windows Vista e cabeçalho posterior: Ntddndis.h (inclua Ndis.h)