estrutura STOR_DEVICE_CAPABILITIES_EX (storport.h)
A estrutura STOR_DEVICE_CAPABILITIES_EX relata os recursos do dispositivo para o driver storport em resposta a uma consulta de funcionalidades em um SRB (bloco de solicitação SCSI) com uma função de SRB_FUNCTION_PNP.
Sintaxe
typedef struct _STOR_DEVICE_CAPABILITIES_EX {
USHORT Version;
USHORT Size;
ULONG DeviceD1 : 1;
ULONG DeviceD2 : 1;
ULONG LockSupported : 1;
ULONG EjectSupported : 1;
ULONG Removable : 1;
ULONG DockDevice : 1;
ULONG UniqueID : 1;
ULONG SilentInstall : 1;
ULONG RawDeviceOK : 1;
ULONG SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
ULONG DefaultWriteCacheEnabled : 1;
ULONG Reserved0 : 20;
ULONG Address;
ULONG UINumber;
ULONG Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;
Membros
Version
Especifica a versão da estrutura. Defina como STOR_DEVICE_CAPABILITIES_EX_VERSION_1 pelo Storport.
Size
Especifica o tamanho da estrutura. Defina como sizeof(STOR_DEVICE_CAPABILITIES_EX) por Storport.
DeviceD1
Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporte definem esse bit como 0.
DeviceD2
Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporte definem esse bit como 0.
LockSupported
Especifica se o dispositivo dá suporte ao bloqueio de dispositivo físico que impede a ejeção do dispositivo. Esse membro pertence à ejeção de um LUN ou de um dispositivo de unidade.
EjectSupported
Especifica se o dispositivo dá suporte à ejeção de dispositivo controlada por software enquanto o sistema está no estado PowerSystemWorking . Esse membro pertence à ejeção de um lun ou dispositivo de unidade.
Removable
Especifica se o dispositivo pode ser removido dinamicamente de seu pai imediato. Se Removable for definido como TRUE, o dispositivo não pertencerá ao mesmo objeto físico que seu pai.
Se Removable for definido como TRUE, o dispositivo será exibido no programa Remover ou Ejetar Hardware, a menos que SurpriseRemovalOK também esteja definido como TRUE.
DockDevice
Especifica se o dispositivo é um periférico de encaixe.
UniqueID
Especifica se a ID da instância do dispositivo é exclusiva em todo o sistema. Esse bit fica claro se a ID da instância é exclusiva somente dentro do escopo do barramento.
SilentInstall
Especifica se Gerenciador de Dispositivos deve suprimir todas as caixas de diálogo de instalação; exceto as caixas de diálogo necessárias, como "nenhum drivers compatível encontrado".
RawDeviceOK
Especifica se o driver do barramento subjacente pode dirigir o dispositivo se não houver driver de função (por exemplo, dispositivos SCSI no modo de passagem). Esse modo de operação é chamado de modo bruto.
SurpriseRemovalOK
Especifica se o driver de miniporto para o dispositivo pode lidar com o caso em que o dispositivo é removido antes que o Storport possa enviar SRB_FUNCTION_PNP com StorRemoveDevice como o PnPAction na estrutura SCSI_PNP_REQUEST_BLOCK . Se SurpriseRemovalOK estiver definido como TRUE, o dispositivo poderá ser removido com segurança de seu pai imediato, independentemente do estado em que o driver está.
NoDisplayInUI
Não exiba o dispositivo na interface do usuário. Se esse bit estiver definido, o dispositivo nunca será exibido na interface do usuário, mesmo que o dispositivo esteja presente, mas não seja iniciado. Os drivers de miniporte não definem esse bit.
DefaultWriteCacheEnabled
O cache de gravação do dispositivo de armazenamento é habilitado por padrão na inicialização.
Reserved0
Bits reservados.
Address
Endereço LUN do dispositivo de unidade de armazenamento.
UINumber
Especifica um número associado ao dispositivo que pode ser exibido na interface do usuário.
Esse número pode ser um valor de ID escolhido para facilitar a localização do dispositivo físico para o usuário. Quando a UINumber for desconhecida, o driver de miniporto poderá definir esse membro como seu valor padrão de 0xFFFFFFFF.
Reserved1[2]
Bits reservados.
Comentários
STOR_DEVICE_CAPABILITIES_EX é um subconjunto da estrutura DEVICE_CAPABILITIES que contém os membros relevantes para dispositivos de armazenamento.
Quando um driver de miniporto recebe um SRB em sua rotina HwStorStartIo em que a função SRB é SRB_FUNCTION_PNP, o SRB é formatado como uma estrutura de SCSI_PNP_REQUEST_BLOCK . Se o membro PnPAction do SRB for StorQueryCapabilities, o miniporto poderá retornar uma estrutura STOR_DEVICE_CAPABILITIES_EX no membro DataBuffer do SRB.
As características de ejeção, remoção e instalação do dispositivo são definidas na estrutura STOR_DEVICE_CAPABILITIES_EX . Para dar suporte ao uso dessa estrutura, o miniporto deve definir o sinalizador STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES no membro sinalizadores FeatureSupport no HW_INITIALIZATION_DATA antes de chamar StorPortInitialize.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Cabeçalho | storport.h (inclua Storport.h, Minitape.h, Srb.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de