Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Aplica-se a KMDF e UMDF]
A função WDF_MEMORY_DESCRIPTOR_INIT_HANDLE inicializa uma estrutura WDF_MEMORY_DESCRIPTOR para que ela descreva um objeto de memória de estrutura especificado.
Sintaxe
VOID WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
[out] PWDF_MEMORY_DESCRIPTOR Descriptor,
[in] WDFMEMORY Memory,
[in, optional] PWDFMEMORY_OFFSET Offsets
);
Parâmetros
[out] Descriptor
Um ponteiro para uma estrutura WDF_MEMORY_DESCRIPTOR.
[in] Memory
Um identificador para um objeto de memória de estrutura.
[in, optional] Offsets
Um ponteiro para uma estrutura WDFMEMORY_OFFSET. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
Nenhum
Observações
A função WDF_MEMORY_DESCRIPTOR_INIT_HANDLE zera a estrutura WDF_MEMORY_DESCRIPTOR especificada e define o membro Type da estrutura como WdfMemoryDescriptorTypeHandle. Em seguida, ele define os membros u.HandleType.Memory e u.HandleType.Offsets membros para os valores que os parâmetros Memory e Offsets especificam, respectivamente.
Exemplos
O exemplo de código a seguir obtém um identificador para um objeto de memória de estrutura que representa o buffer de entrada de uma solicitação de E/S. O exemplo usa o identificador de objeto de memória para inicializar uma estrutura de WDF_MEMORY_DESCRIPTOR. Em seguida, o exemplo inicializa uma estrutura de WDF_USB_CONTROL_SETUP_PACKET e envia uma solicitação de transferência de controle USB para um destino de E/S.
WDFMEMORY memory;
WDF_MEMORY_DESCRIPTOR memDesc;
WDF_USB_CONTROL_SETUP_PACKET controlSetupPacket;
NTSTATUS status;
status = WdfRequestRetrieveInputMemory(
Request,
&memory
);
if (!NT_SUCCESS(status)) {
break;
}
WDF_MEMORY_DESCRIPTOR_INIT_HANDLE(
&memDesc,
memory,
NULL
);
WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR(
&controlSetupPacket,
BmRequestHostToDevice,
BmRequestToDevice,
USBFX2LK_SET_BARGRAPH_DISPLAY,
0,
0
);
status = WdfUsbTargetDeviceSendControlTransferSynchronously(
pDevContext->UsbDevice,
NULL,
NULL,
&controlSetupPacket,
&memDesc,
(PULONG)&bytesTransferred
);
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| versão mínima do UMDF | 2.0 |
| cabeçalho | wdfmemory.h (inclua Wdf.h) |
| regras de conformidade de DDI | MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf) |