estrutura STOR_DEVICE_CAPABILITIES_EX (minitape.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. STOR_DEVICE_CAPABILITIES é um subconjunto da estrutura DEVICE_CAPABILITIES que contém os membros relevantes para dispositivos de armazenamento.
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. Storport define esse campo como STOR_DEVICE_CAPABILITIES_EX_VERSION_1.
Size
Especifica o tamanho da estrutura. Storport define esse campo como sizeof(STOR_DEVICE_CAPABILITIES_EX)
.
DeviceD1
Especifica se o hardware do dispositivo dá suporte ao estado de energia D1. Os drivers de miniporto definem esse bit como 0.
DeviceD2
Especifica se o hardware do dispositivo dá suporte ao estado de energia D2. Os drivers de miniporto 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 controlado 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 removível estiver definido como TRUE, o dispositivo não pertence ao mesmo objeto físico que seu pai.
Se removível estiver definido como TRUE, o dispositivo será exibido no programa Desativar ou Ejetar Hardware, a menos que SurpriseRemovalOK também esteja definido como VERDADEIRO.
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 apenas dentro do escopo do barramento.
SilentInstall
Especifica se do 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 PnPAction na estrutura SCSI_PNP_REQUEST_BLOCK. Se SurpriseRemovalOK estiver definido como VERDADEIRO, 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 miniporto 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.
Observações
Quando um driver de miniporto recebe um SRB em seu rotina de HwStorStartIo em que a função SRB é SRB_FUNCTION_PNP, o SRB é formatado como uma estrutura SCSI_PNP_REQUEST_BLOCK. Se o PnPAction membro do SRB for StorQueryCapabilities, o miniporto poderá retornar uma estrutura STOR_DEVICE_CAPABILITIES_EX no databuffer membro 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 de sinalizadores FeatureSupport no HW_INITIALIZATION_DATA antes de chamar StorPortInitialize.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 8 |
cabeçalho | minitape.h (inclua Storport.h, Minitape.h, Srb.h) |